diff --git a/mingw-w64-nodejs/0014-Undef-shared-uv-and-shared-v8.patch b/mingw-w64-nodejs/0014-Undef-shared-uv-and-shared-v8.patch new file mode 100644 index 0000000000..c89a7f3642 --- /dev/null +++ b/mingw-w64-nodejs/0014-Undef-shared-uv-and-shared-v8.patch @@ -0,0 +1,27 @@ + src/node.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/node.h b/src/node.h +index f2740116..de28015e 100644 +--- a/src/node.h ++++ b/src/node.h +@@ -45,13 +45,18 @@ + #ifdef BUILDING_NODE_EXTENSION + # undef BUILDING_V8_SHARED + # undef BUILDING_UV_SHARED ++#if defined(__MINGW32__) ++# undef USING_V8_SHARED ++# undef USING_UV_SHARED ++#else + # define USING_V8_SHARED 1 + # define USING_UV_SHARED 1 + #endif ++#endif + + // This should be defined in make system. + // See issue https://github.com/nodejs/node-v0.x-archive/issues/1236 +-#if defined(__MINGW32__) || defined(_MSC_VER) ++#if defined(_MSC_VER) + #ifndef _WIN32_WINNT + # define _WIN32_WINNT 0x0600 // Windows Server 2008 + #endif diff --git a/mingw-w64-nodejs/0015-Remove-v8-export-private-refs.patch b/mingw-w64-nodejs/0015-Remove-v8-export-private-refs.patch new file mode 100644 index 0000000000..66e8c704c2 --- /dev/null +++ b/mingw-w64-nodejs/0015-Remove-v8-export-private-refs.patch @@ -0,0 +1,85 @@ + deps/v8/src/compiler/node.cc | 2 +- + deps/v8/src/diagnostics/objects-printer.cc | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/deps/v8/src/compiler/node.cc b/deps/v8/src/compiler/node.cc +index b53fa280..bf22bc07 100644 +--- a/deps/v8/src/compiler/node.cc ++++ b/deps/v8/src/compiler/node.cc +@@ -506,6 +506,6 @@ bool Node::Uses::empty() const { return begin() == end(); } + } // namespace v8 + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Node_Print(void* object) { ++extern void _v8_internal_Node_Print(void* object) { + reinterpret_cast(object)->Print(); + } +diff --git a/deps/v8/src/diagnostics/objects-printer.cc b/deps/v8/src/diagnostics/objects-printer.cc +index 5d950911..acf373f8 100644 +--- a/deps/v8/src/diagnostics/objects-printer.cc ++++ b/deps/v8/src/diagnostics/objects-printer.cc +@@ -3492,18 +3492,18 @@ inline i::Tagged GetObjectFromRaw(void* object) { + // The following functions are used by our gdb macros. + // + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern i::Tagged _v8_internal_Get_Object( ++extern i::Tagged _v8_internal_Get_Object( + void* object) { + return GetObjectFromRaw(object); + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_Object(void* object) { ++extern void _v8_internal_Print_Object(void* object) { + i::Print(GetObjectFromRaw(object)); + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_LoadHandler(void* object) { ++extern void _v8_internal_Print_LoadHandler(void* object) { + #ifdef OBJECT_PRINT + i::StdoutStream os; + i::LoadHandler::PrintHandler(GetObjectFromRaw(object), os); +@@ -3512,7 +3512,7 @@ V8_EXPORT_PRIVATE extern void _v8_internal_Print_LoadHandler(void* object) { + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_StoreHandler(void* object) { ++extern void _v8_internal_Print_StoreHandler(void* object) { + #ifdef OBJECT_PRINT + i::StdoutStream os; + i::StoreHandler::PrintHandler(GetObjectFromRaw(object), os); +@@ -3521,7 +3521,7 @@ V8_EXPORT_PRIVATE extern void _v8_internal_Print_StoreHandler(void* object) { + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_Code(void* object) { ++extern void _v8_internal_Print_Code(void* object) { + i::Address address = reinterpret_cast(object); + i::Isolate* isolate = i::Isolate::Current(); + +@@ -3557,7 +3557,7 @@ V8_EXPORT_PRIVATE extern void _v8_internal_Print_Code(void* object) { + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_OnlyCode(void* object, ++extern void _v8_internal_Print_OnlyCode(void* object, + size_t range_limit) { + i::Address address = reinterpret_cast(object); + i::Isolate* isolate = i::Isolate::Current(); +@@ -3589,13 +3589,13 @@ V8_EXPORT_PRIVATE extern void _v8_internal_Print_OnlyCode(void* object, + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_StackTrace() { ++extern void _v8_internal_Print_StackTrace() { + i::Isolate* isolate = i::Isolate::Current(); + isolate->PrintStack(stdout); + } + + V8_DONT_STRIP_SYMBOL +-V8_EXPORT_PRIVATE extern void _v8_internal_Print_TransitionTree(void* object) { ++extern void _v8_internal_Print_TransitionTree(void* object) { + i::Tagged o(GetObjectFromRaw(object)); + if (!IsMap(o)) { + printf("Please provide a valid Map\n"); diff --git a/mingw-w64-nodejs/0025-Fix-globalPrefix-on-mingw.patch b/mingw-w64-nodejs/0025-Fix-globalPrefix-on-mingw.patch index b9e51b8c98..6dc6dbed49 100644 --- a/mingw-w64-nodejs/0025-Fix-globalPrefix-on-mingw.patch +++ b/mingw-w64-nodejs/0025-Fix-globalPrefix-on-mingw.patch @@ -1,5 +1,6 @@ deps/npm/node_modules/@npmcli/config/lib/index.js | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + deps/npm/node_modules/bin-links/lib/bin-target.js | 4 ++-- + 2 file changed, 4 insertions(+), 3 deletion(-) diff --git a/deps/npm/node_modules/@npmcli/config/lib/index.js b/deps/npm/node_modules/@npmcli/config/lib/index.js index b09ecc47..8b4a4981 100644 @@ -22,3 +23,19 @@ index b09ecc47..8b4a4981 100644 // c:\node\node.exe --> prefix=c:\node\ this.globalPrefix = dirname(this.execPath) } else { +diff --git a/deps/npm/node_modules/bin-links/lib/bin-target.js b/deps/npm/node_modules/bin-links/lib/bin-target.js +index 0629285d..9b8c8371 100644 +--- a/deps/npm/node_modules/bin-links/lib/bin-target.js ++++ b/deps/npm/node_modules/bin-links/lib/bin-target.js +@@ -1,9 +1,9 @@ +-const isWindows = require('./is-windows.js') ++const win = require('os').type() === 'Windows_NT' + const getPrefix = require('./get-prefix.js') + const getNodeModules = require('./get-node-modules.js') + const { dirname } = require('path') + + module.exports = ({ top, path }) => + !top ? getNodeModules(path) + '/.bin' +- : isWindows ? getPrefix(path) ++ : win ? getPrefix(path) + : dirname(getPrefix(path)) + '/bin' diff --git a/mingw-w64-nodejs/0101-node-buildflags-fixes.patch b/mingw-w64-nodejs/0101-node-buildflags-fixes.patch index 5a7307016c..e225ea72a7 100644 --- a/mingw-w64-nodejs/0101-node-buildflags-fixes.patch +++ b/mingw-w64-nodejs/0101-node-buildflags-fixes.patch @@ -96,19 +96,18 @@ diff --git a/deps/uv/uv.gyp b/deps/uv/uv.gyp index 6c86c3fa..1ceaa6d9 100644 --- a/deps/uv/uv.gyp +++ b/deps/uv/uv.gyp -@@ -193,6 +193,11 @@ +@@ -193,6 +193,10 @@ }, 'conditions': [ [ 'OS=="win"', { + 'type': 'static_library', + 'cflags': [ + '-Wno-cast-function-type', -+ '-Wno-maybe-uninitialized', + ], 'defines': [ '_WIN32_WINNT=0x0602', '_GNU_SOURCE', -@@ -392,9 +397,6 @@ +@@ -392,9 +396,6 @@ '<@(uv_sources_bsd_common)', ], }], diff --git a/mingw-w64-nodejs/PKGBUILD b/mingw-w64-nodejs/PKGBUILD index 6db55a8779..5111ddcbe6 100644 --- a/mingw-w64-nodejs/PKGBUILD +++ b/mingw-w64-nodejs/PKGBUILD @@ -9,13 +9,13 @@ _realname=nodejs pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=21.6.1 -pkgrel=1 +pkgrel=2 pkgdesc="An open-source, cross-platform JavaScript runtime environment (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64') url="https://nodejs.org/" -msys2_repository_url='https://github.com/nodejs/node/' -msys2_documentation_url='https://nodejs.org/download/docs/' +msys2_repository_url='https://github.com/nodejs/node' +msys2_documentation_url='https://nodejs.org/download/docs' msys2_references=( 'archlinux: nodejs' ) @@ -39,6 +39,8 @@ source=("https://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.xz" 0011-Properly-detect-architecture.patch 0012-Use-shell-wrapper-script-for-npm-on-MSYS2-MinGW-w64.patch 0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch + 0014-Undef-shared-uv-and-shared-v8.patch + 0015-Remove-v8-export-private-refs.patch 0016-Do-not-rely-on-__STDC_FORMAT_MACROS.patch 0017-Do-not-get-confused-by-the-presence-of-winpthread.patch 0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch @@ -84,6 +86,8 @@ prepare() { 0011-Properly-detect-architecture.patch \ 0012-Use-shell-wrapper-script-for-npm-on-MSYS2-MinGW-w64.patch \ 0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch \ + 0014-Undef-shared-uv-and-shared-v8.patch \ + 0015-Remove-v8-export-private-refs.patch \ 0016-Do-not-rely-on-__STDC_FORMAT_MACROS.patch \ 0017-Do-not-get-confused-by-the-presence-of-winpthread.patch \ 0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch \ @@ -191,15 +195,17 @@ sha256sums=('7a82f356d1dcba5d766f0e1d4c750e2e18d6290b710b7d19a8725241e7af1f60' 'c2daca3eec876a98adcbb35c7438afe24beb8a1953b62947912f7ea25c63fcb9' '6f5f3f76c44b2857459b8f9a8e0eefd737d4c2d89f02b7545762fb151d71d85f' '317033198f387743e760efc8953f2e2fb056128693f504415e0fe8bc872de0dc' + '4c96bc26457be1d516bbcaf6f8923c31ec2710d07bd8307297c6c4ede247095e' + '97263dca8998883fdcefce42048065f5dcb8539a219c44cc5e98bc33252dbb08' '99e64bacf33db5cee211eba00841368d22b40030a91e0475c93c4fe4f76f27d1' 'ec5e6dcb3207682b99990af05a93f4f1e653307fa928c4c48e0fdf1e60000861' '08ca21ae3202c5081b23b7b86c5dd8a93e4c85924edc939278873c09935e64d6' '208e9816d851245271a78516e86505c03f3fc7918663372974a128e2f1f09c62' 'c7d56e545bf21328b0e9f88add15dc7bc39f3adb90d2079bf3448cc8746fa9e3' '29807f224790d5dd4503ae18d1953ecf827e9199a7da80abf129b1c36e6edcb1' - '79d721c7f7ae86cafe18010eae78df14501e2bddd340776412dc94b9699bb41c' + '4606ae71cbee41bd15edf771393f4e45b379eaf79d53657a88c866b56fec1d34' '7d498f8090ab05458f28a5d2c60ef8511d2b48bc5368fda06922c35ca2584a22' - '3891398d10388cc7968f0cb6754287041e703a7899031431961f11671c92f995' + 'ece1c96f2af65ee0a11fbf2945a02aad4e7f323bf0061cc6c7b4a3a97cfbd9c4' '00018068327e4bb84fd8043245a9f989c4c0008019fa6e0bab99d11ad7c8bf27' 'b1d14a5bc854bbee934a5b04cc2f9c5559fa7d54db45db92a4663e7117150640' '67d40fde6aaa108db2de4d946874857607bade8fa0ee76d77b759439fa80f246'