diff --git a/net-libs/nodejs/nodejs12-12.22.7.recipe b/net-libs/nodejs/nodejs12-12.22.7.recipe deleted file mode 100644 index 397127215..000000000 --- a/net-libs/nodejs/nodejs12-12.22.7.recipe +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY="A JavaScript runtime built on Chrome's V8 Engine" -DESCRIPTION="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. \ -As an asynchronous event driven JavaScript runtime, Node is designed to build scalable \ -network applications. In the following \"hello world\" example, many connections can be \ -handled concurrently. Upon each connection the callback is fired, but if there is no work \ -to be done, Node will sleep." -HOMEPAGE="https://nodejs.org/" -COPYRIGHT="2006-2019 The Node.js Foundation" -LICENSE="BSD (2-clause)" -REVISION="2" -SOURCE_URI="https://nodejs.org/dist/v$portVersion/node-v$portVersion.tar.xz" -SOURCE_DIR="node-v$portVersion" -CHECKSUM_SHA256="cc6a23b44870679a94bd8f3c8d4e1f4b77bb2712a36888ab87463459e6785f6b" -PATCHES="nodejs-$portVersion.patchset" - -ARCHITECTURES="all !x86_gcc2 ?x86" -SECONDARY_ARCHITECTURES="!x86" - -PROVIDES=" - nodejs12$secondaryArchSuffix = $portVersion - cmd:node = $portVersion compat >= 12 - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libcares$secondaryArchSuffix - lib:libcrypto$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - lib:libnghttp2$secondaryArchSuffix - lib:libssl$secondaryArchSuffix - lib:libuv$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " -REPLACES="nodejs" - -PROVIDES_devel=" - nodejs12${secondaryArchSuffix}_devel - " -REQUIRES_devel=" - nodejs12$secondaryArchSuffix == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libcares$secondaryArchSuffix - devel:libexecinfo$secondaryArchSuffix - devel:libnghttp2$secondaryArchSuffix - devel:libssl$secondaryArchSuffix >= 1.1 - devel:libuv$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make - cmd:ninja - cmd:python2 - cmd:which - " - -BUILD() -{ - ./configure --with-intl=none --dest-os=haiku \ - --shared-cares --shared-libuv --shared-nghttp2 --shared-openssl \ - --shared-zlib \ - --prefix=$prefix --without-npm - - make $jobArgs -} - -INSTALL() -{ - make install - - mkdir -p $(dirname $docDir $includeDir $manDir) - mv $prefix/include $includeDir - mv $prefix/share/man $manDir - mv $prefix/share/doc $docDir - - packageEntries devel \ - $developDir - - strip $prefix/bin/node - rm -rf $prefix/share -} - -TEST() -{ - make test-only -} diff --git a/net-libs/nodejs/nodejs14-14.18.1.recipe b/net-libs/nodejs/nodejs14-14.18.1.recipe deleted file mode 100644 index d67c7e739..000000000 --- a/net-libs/nodejs/nodejs14-14.18.1.recipe +++ /dev/null @@ -1,89 +0,0 @@ -SUMMARY="A JavaScript runtime built on Chrome's V8 Engine" -DESCRIPTION="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. \ -As an asynchronous event driven JavaScript runtime, Node is designed to build scalable \ -network applications. In the following \"hello world\" example, many connections can be \ -handled concurrently. Upon each connection the callback is fired, but if there is no work \ -to be done, Node will sleep." -HOMEPAGE="https://nodejs.org/" -COPYRIGHT="2006-2019 The Node.js Foundation" -LICENSE="BSD (2-clause)" -REVISION="1" -SOURCE_URI="https://nodejs.org/dist/v$portVersion/node-v$portVersion.tar.xz" -SOURCE_DIR="node-v$portVersion" -CHECKSUM_SHA256="3fa1d71adddfab2f5e3e41874b4eddbdf92b65cade4a43922fb1e437afcf89ed" -PATCHES="nodejs-$portVersion.patchset" - -ARCHITECTURES="all !x86_gcc2 ?x86" -SECONDARY_ARCHITECTURES="!x86" - -PROVIDES=" - nodejs14$secondaryArchSuffix = $portVersion - cmd:node = $portVersion compat >= 14 - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libcares$secondaryArchSuffix - lib:libcrypto$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - lib:libnghttp2$secondaryArchSuffix - lib:libssl$secondaryArchSuffix - lib:libuv$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_devel=" - nodejs14${secondaryArchSuffix}_devel - " -REQUIRES_devel=" - nodejs14$secondaryArchSuffix == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libcares$secondaryArchSuffix - devel:libexecinfo$secondaryArchSuffix - devel:libnghttp2$secondaryArchSuffix >= 14.19 - devel:libssl$secondaryArchSuffix >= 1.1 - devel:libuv$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make - cmd:ninja - cmd:python3.9 - cmd:which - " - -BUILD() -{ - ./configure --with-intl=none --dest-os=haiku \ - --shared-cares --shared-libuv --shared-nghttp2 --shared-openssl \ - --shared-zlib \ - --prefix=$prefix --without-npm - - make $jobArgs -} - -INSTALL() -{ - make install - - mkdir -p $(dirname $docDir $includeDir $manDir) - mv $prefix/include $includeDir - mv $prefix/share/man $manDir - mv $prefix/share/doc $docDir - - packageEntries devel \ - $developDir - - strip $prefix/bin/node - rm -rf $prefix/share -} - -TEST() -{ - make test-only -} diff --git a/net-libs/nodejs/patches/nodejs-12.22.7.patchset b/net-libs/nodejs/patches/nodejs-12.22.7.patchset deleted file mode 100644 index 85b460aeb..000000000 --- a/net-libs/nodejs/patches/nodejs-12.22.7.patchset +++ /dev/null @@ -1,673 +0,0 @@ -From 7de02430ac25bb4f390c05634abfeb61ee9ca1b0 Mon Sep 17 00:00:00 2001 -From: Calvin Hill -Date: Wed, 22 May 2019 11:23:37 +0000 -Subject: Initial Haiku support for Node.js - - -diff --git a/common.gypi b/common.gypi -index 34bf547..de9ab19 100644 ---- a/common.gypi -+++ b/common.gypi -@@ -138,6 +138,9 @@ - ['target_arch in "ppc64 s390x"', { - 'v8_enable_backtrace': 1, - }], -+ ['OS=="haiku"', { -+ 'clang%': 0, -+ }], - ], - }, - -@@ -166,6 +169,10 @@ - 'cflags': [ '-fPIC' ], - 'ldflags': [ '-fPIC' ] - }], -+ ['OS == "haiku"', { -+ 'cflags': [ '-fPIC' ], -+ 'ldflags': [ '-fPIC'] -+ }], - ], - 'msvs_settings': { - 'VCCLCompilerTool': { -@@ -226,6 +233,10 @@ - 'cflags': [ '-fPIC' ], - 'ldflags': [ '-fPIC' ] - }], -+ ['OS == "haiku"', { -+ 'cflags': [ '-fPIC' ], -+ 'ldflags': [ '-fPIC'] -+ }], - ], - 'msvs_settings': { - 'VCCLCompilerTool': { -@@ -364,7 +375,7 @@ - 'cflags': [ '-pthread' ], - 'ldflags': [ '-pthread' ], - }], -- [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', { -+ [ 'OS in "linux freebsd openbsd solaris android aix cloudabi haiku"', { - 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], - 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++1y' ], - 'defines': [ '__STDC_FORMAT_MACROS' ], -@@ -378,6 +389,10 @@ - 'cflags': [ '-I/usr/local/include' ], - 'ldflags': [ '-Wl,-z,wxneeded' ], - }], -+ ['OS=="haiku"', { -+ 'cflags': [ '-fPIC' ], -+ 'ldflags': [ '-fPIC' ], -+ }], - ], - 'conditions': [ - [ 'target_arch=="ia32"', { -@@ -537,6 +552,12 @@ - 'OPENSSL_NO_PINSHARED' - ], - }], -+ ['OS=="haiku"', { -+ 'ldflags': [ '-lroot', '-lbsd', '-lstdc++', '-lnetwork', '-Wl,-Bsymbolic', '-Wl,--export-dynamic', '-fPIC' ], -+ 'ldflags!': [ '-pthreads', '-pthread', '-rdynamic' ], -+ 'clang%': 0, -+ '%v8_use_snapshot':0, -+ }], - ['node_shared_openssl!="true"', { - # `OPENSSL_THREADS` is defined via GYP for openSSL for all architectures. - 'defines': [ -diff --git a/configure.py b/configure.py -index e6485a7..2663035 100755 ---- a/configure.py -+++ b/configure.py -@@ -47,7 +47,7 @@ from fetch_deps import FetchDeps - parser = optparse.OptionParser() - - valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', -- 'android', 'aix', 'cloudabi') -+ 'android', 'aix', 'cloudabi', 'haiku') - valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc', - 'ppc64', 'x32','x64', 'x86', 'x86_64', 's390x') - valid_arm_float_abi = ('soft', 'softfp', 'hard') -diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi -index 76984d4..eda4459 100644 ---- a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi -+++ b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi -@@ -8,11 +8,9 @@ - ], - 'openssl_cflags_linux-x86_64': [ - '-Wall -O3', -- '-pthread -m64', -- '-Wall -O3', -+ '-m64', - ], - 'openssl_ex_libs_linux-x86_64': [ -- '-ldl -pthread', - ], - 'openssl_cli_srcs_linux-x86_64': [ - 'openssl/apps/asn1pars.c', -diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi -index 11d3aa6..aba5d54 100644 ---- a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi -+++ b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi -@@ -692,11 +692,10 @@ - ], - 'openssl_cflags_linux-x86_64': [ - '-Wall -O3', -- '-pthread -m64', -+ '-m64', - '-Wall -O3', - ], -- 'openssl_ex_libs_linux-x86_64': [ -- '-ldl -pthread', -+ 'openssl_ex_libs_linux-x86_64': [ - ], - }, - 'include_dirs': [ -diff --git a/deps/openssl/openssl/crypto/rand/rand_unix.c b/deps/openssl/openssl/crypto/rand/rand_unix.c -index 43f1069..63b38f2 100644 ---- a/deps/openssl/openssl/crypto/rand/rand_unix.c -+++ b/deps/openssl/openssl/crypto/rand/rand_unix.c -@@ -372,7 +372,7 @@ static ssize_t syscall_random(void *buf, size_t buflen) - * Note: Sometimes getentropy() can be provided but not implemented - * internally. So we need to check errno for ENOSYS - */ --# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux) -+# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux) && !defined(__HAIKU__) - extern int getentropy(void *buffer, size_t length) __attribute__((weak)); - - if (getentropy != NULL) { -diff --git a/deps/openssl/openssl_common.gypi b/deps/openssl/openssl_common.gypi -index d866630..52558d8 100644 ---- a/deps/openssl/openssl_common.gypi -+++ b/deps/openssl/openssl_common.gypi -@@ -56,7 +56,14 @@ - 'ENGINESDIR="/dev/null"', - '__EXTENSIONS__' - ], -- }, { -+ },'OS=="haiku"', { -+ '!ldflags': ['-pthread', '-pthreads'], -+ 'defines': [ -+ 'OPENSSLDIR="/boot/system/data/ssl/"', -+ 'ENGINESDIR="/dev/null"', -+ 'TERMIOS', -+ ], -+ },{ - # linux and others - 'cflags': ['-Wno-missing-field-initializers',], - 'defines': [ -diff --git a/node.gypi b/node.gypi -index 116c1c7..9d5e5f3 100644 ---- a/node.gypi -+++ b/node.gypi -@@ -257,6 +257,16 @@ - 'NODE_PLATFORM="sunos"', - ], - }], -+ [ 'OS=="haiku"', { -+ 'libraries': [ -+ '-lroot', -+ '-lnetwork', -+ '-lbsd', -+ ], -+ 'defines': [ -+ 'NODE_PLATFORM="haiku"', -+ ], -+ }], - [ '(OS=="freebsd" or OS=="linux") and node_shared=="false"' - ' and force_load=="true"', { - 'ldflags': [ -diff --git a/src/node.cc b/src/node.cc -index 46e8f74..b0452a7 100644 ---- a/src/node.cc -+++ b/src/node.cc -@@ -554,7 +554,7 @@ inline void PlatformInit() { - if (nr == SIGKILL || nr == SIGSTOP) - continue; - act.sa_handler = (nr == SIGPIPE || nr == SIGXFSZ) ? SIG_IGN : SIG_DFL; -- CHECK_EQ(0, sigaction(nr, &act, nullptr)); -+ //CHECK_EQ(0, sigaction(nr, &act, nullptr)); - } - #endif // !NODE_SHARED_MODE - -diff --git a/src/node_os.cc b/src/node_os.cc -index b6fbb12..f97528b 100644 ---- a/src/node_os.cc -+++ b/src/node_os.cc -@@ -34,7 +34,7 @@ - #include - #include - #include -- -+#include - namespace node { - namespace os { - -@@ -120,7 +120,17 @@ static void GetCPUInfo(const FunctionCallbackInfo& args) { - // [model, speed, (5 entries of cpu_times), model2, speed2, ...] - std::vector> result(count * 7); - for (int i = 0, j = 0; i < count; i++) { -+ /* - uv_cpu_info_t* ci = cpu_infos + i; -+ -+ std::cout << ci->speed << std::endl; -+ std::cout << ci->model << std::endl; -+ std::cout << ci->cpu_times.user << std::endl; -+ std::cout << ci->cpu_times.nice << std::endl; -+ std::cout << ci->cpu_times.sys << std::endl; -+ std::cout << ci->cpu_times.idle << std::endl; -+ std::cout << ci->cpu_times.irq << std::endl; -+ - result[j++] = OneByteString(isolate, ci->model); - result[j++] = Number::New(isolate, ci->speed); - result[j++] = Number::New(isolate, ci->cpu_times.user); -@@ -128,10 +138,11 @@ static void GetCPUInfo(const FunctionCallbackInfo& args) { - result[j++] = Number::New(isolate, ci->cpu_times.sys); - result[j++] = Number::New(isolate, ci->cpu_times.idle); - result[j++] = Number::New(isolate, ci->cpu_times.irq); -+ */ - } - - uv_free_cpu_info(cpu_infos, count); -- args.GetReturnValue().Set(Array::New(isolate, result.data(), result.size())); -+ // args.GetReturnValue().Set(Array::New(isolate, result.data(), result.size())); - } - - -diff --git a/src/node_report.cc b/src/node_report.cc -index c93e03a..a4f57df 100644 ---- a/src/node_report.cc -+++ b/src/node_report.cc -@@ -686,16 +686,16 @@ static void PrintSystemInformation(JSONWriter* writer) { - {"core_file_size_blocks", RLIMIT_CORE}, - {"data_seg_size_kbytes", RLIMIT_DATA}, - {"file_size_blocks", RLIMIT_FSIZE}, --#if !(defined(_AIX) || defined(__sun)) -+#if !(defined(_AIX) || defined(__sun) || defined(__HAIKU__)) - {"max_locked_memory_bytes", RLIMIT_MEMLOCK}, - #endif --#ifndef __sun -+#if !(defined(__sun) || defined(__HAIKU__)) - {"max_memory_size_kbytes", RLIMIT_RSS}, - #endif - {"open_files", RLIMIT_NOFILE}, - {"stack_size_bytes", RLIMIT_STACK}, - {"cpu_time_seconds", RLIMIT_CPU}, --#ifndef __sun -+#if !(defined(__sun) || defined(__HAIKU__)) - {"max_user_processes", RLIMIT_NPROC}, - #endif - #ifndef __OpenBSD__ -diff --git a/tools/utils.py b/tools/utils.py -index 9734836..94e4d8c 100644 ---- a/tools/utils.py -+++ b/tools/utils.py -@@ -57,6 +57,8 @@ def GuessOS(): - return 'win32' - elif id == 'FreeBSD': - return 'freebsd' -+ elif id == 'Haiku': -+ return 'haiku' - elif id == 'OpenBSD': - return 'openbsd' - elif id == 'SunOS': --- -2.30.2 - - -From cdf8b535978b7be49f5d93473b52c16f95fa8cd5 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 27 Mar 2021 21:40:26 +0100 -Subject: v8 Haiku patches - - -diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn -index 5c226f4..f46c2a8 100644 ---- a/deps/v8/BUILD.gn -+++ b/deps/v8/BUILD.gn -@@ -682,7 +682,7 @@ config("toolchain") { - } - } - -- if (is_clang) { -+ if (is_clang && !is_haiku) { - cflags += [ "-Wmissing-field-initializers" ] - - if (v8_current_cpu != "mips" && v8_current_cpu != "mipsel") { -@@ -3607,6 +3607,11 @@ v8_component("v8_libbase") { - "src/base/debug/stack_trace_fuchsia.cc", - "src/base/platform/platform-fuchsia.cc", - ] -+ } else if (is_haiku) { -+ sources += [ -+ "src/base/debug/stack_trace_posix.cc", -+ "src/base/platform/platform-haiku.cc", -+ ] - } else if (is_mac || is_ios) { - sources += [ - "src/base/debug/stack_trace_posix.cc", -@@ -4045,6 +4050,13 @@ if (is_fuchsia && !build_with_chromium) { - - group("v8_fuzzers") { - testonly = true -+ -+ if(host_os == "haiku"){ -+ data_deps = [] -+ } -+ -+ if (host_os != "haiku") { -+ - data_deps = [ - ":v8_simple_json_fuzzer", - ":v8_simple_multi_return_fuzzer", -@@ -4056,6 +4068,8 @@ group("v8_fuzzers") { - ":v8_simple_wasm_compile_fuzzer", - ":v8_simple_wasm_fuzzer", - ] -+ } -+ - } - - if (is_component_build) { -diff --git a/deps/v8/include/v8config.h b/deps/v8/include/v8config.h -index 7670c0e..646c599 100644 ---- a/deps/v8/include/v8config.h -+++ b/deps/v8/include/v8config.h -@@ -61,6 +61,7 @@ - // V8_OS_CYGWIN - Cygwin - // V8_OS_DRAGONFLYBSD - DragonFlyBSD - // V8_OS_FREEBSD - FreeBSD -+// V8_OS_HAIKU - Haiku - // V8_OS_FUCHSIA - Fuchsia - // V8_OS_LINUX - Linux - // V8_OS_MACOSX - Mac OS X -@@ -100,6 +101,9 @@ - # define V8_OS_BSD 1 - # define V8_OS_FREEBSD 1 - # define V8_OS_POSIX 1 -+#elif defined(__HAIKU__) -+# define V8_OS_HAIKU 1 -+# define V8_OS_POSIX 1 - #elif defined(__Fuchsia__) - # define V8_OS_FUCHSIA 1 - # define V8_OS_POSIX 1 -diff --git a/deps/v8/src/base/debug/stack_trace_posix.cc b/deps/v8/src/base/debug/stack_trace_posix.cc -index ed602af..58b3b5d 100644 ---- a/deps/v8/src/base/debug/stack_trace_posix.cc -+++ b/deps/v8/src/base/debug/stack_trace_posix.cc -@@ -25,14 +25,15 @@ - #include - #include - --#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS -+#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS || V8_OS_HAIKU - #define HAVE_EXECINFO_H 1 - #endif - --#if HAVE_EXECINFO_H -+#if defined(HAVE_EXECINFO_H) - #include - #include - #endif -+ - #if V8_OS_MACOSX - #include - #endif -diff --git a/deps/v8/src/base/export-template.h b/deps/v8/src/base/export-template.h -index 861cfe4..8c6d885 100644 ---- a/deps/v8/src/base/export-template.h -+++ b/deps/v8/src/base/export-template.h -@@ -83,6 +83,7 @@ - // definition sites instead. - #define EXPORT_TEMPLATE_DECLARE_MSVC_HACK(export, _) - #define EXPORT_TEMPLATE_DEFINE_MSVC_HACK(export, _) export -+#define EXPORT_TEMPLATE_TEST_MSVC_HACK_DEFAULT(...) true - - // EXPORT_TEMPLATE_STYLE is an internal helper macro that identifies which - // export style needs to be used for the provided FOO_EXPORT macro definition. -@@ -159,5 +160,5 @@ EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); - #undef EXPORT_TEMPLATE_TEST - #undef EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT - #undef EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK -- -+#undef EXPORT_TEMPLATE_TEST_MSVC_HACK_DEFAULT - #endif // V8_BASE_EXPORT_TEMPLATE_H_ -diff --git a/deps/v8/src/base/platform/platform-haiku.cc b/deps/v8/src/base/platform/platform-haiku.cc -new file mode 100644 -index 0000000..7367510 ---- /dev/null -+++ b/deps/v8/src/base/platform/platform-haiku.cc -@@ -0,0 +1,50 @@ -+// Copyright 2012 the V8 project authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+// Platform-specific code for Haiku goes here. For the POSIX-compatible -+// parts, the implementation is in platform-posix.cc. -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include // open -+#include -+#include // index -+#include // mmap & munmap -+#include // open -+#include // mmap & munmap -+#include // sysconf -+ -+#include -+ -+#undef MAP_TYPE -+ -+#include "src/base/macros.h" -+#include "src/base/platform/platform-posix-time.h" -+#include "src/base/platform/platform-posix.h" -+#include "src/base/platform/platform.h" -+ -+namespace v8 { -+namespace base { -+ -+TimezoneCache* OS::CreateTimezoneCache() { -+ return new PosixDefaultTimezoneCache(); -+} -+ -+std::vector OS::GetSharedLibraryAddresses() { -+ return std::vector(); -+} -+ -+void OS::SignalCodeMovingGC() {} -+ -+void OS::AdjustSchedulingParams() {} -+ -+} // namespace base -+} // namespace v8 -diff --git a/deps/v8/src/base/platform/platform-posix.cc b/deps/v8/src/base/platform/platform-posix.cc -index c50cdd7..477bde5 100644 ---- a/deps/v8/src/base/platform/platform-posix.cc -+++ b/deps/v8/src/base/platform/platform-posix.cc -@@ -60,7 +60,7 @@ - #include - #endif - --#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) -+#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) && !defined(__HAIKU__) - #include - #endif - -@@ -76,6 +76,14 @@ extern int madvise(caddr_t, size_t, int); - #endif - #endif - -+#if defined(__HAIKU__) -+extern "C" int posix_madvise(void*, size_t, int); -+#endif -+ -+#if defined(__HAIKU__) -+#define MADV_FREE POSIX_MADV_DONTNEED -+#endif -+ - #ifndef MADV_FREE - #define MADV_FREE MADV_DONTNEED - #endif -@@ -127,7 +135,7 @@ int GetProtectionFromMemoryPermission(OS::MemoryPermission access) { - int GetFlagsForMemoryPermission(OS::MemoryPermission access) { - int flags = MAP_PRIVATE | MAP_ANONYMOUS; - if (access == OS::MemoryPermission::kNoAccess) { --#if !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX -+#if !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX && !V8_OS_HAIKU - flags |= MAP_NORESERVE; - #endif // !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX - #if V8_OS_QNX -@@ -362,6 +370,8 @@ bool OS::DiscardSystemPages(void* address, size_t size) { - int ret = madvise(address, size, MADV_FREE_REUSABLE); - #elif defined(_AIX) || defined(V8_OS_SOLARIS) - int ret = madvise(reinterpret_cast(address), size, MADV_FREE); -+#elif defined(__HAIKU__) -+ int ret = posix_madvise(address, size, MADV_FREE); - #else - int ret = madvise(address, size, MADV_FREE); - #endif -@@ -373,6 +383,8 @@ bool OS::DiscardSystemPages(void* address, size_t size) { - // imply runtime support. - #if defined(_AIX) || defined(V8_OS_SOLARIS) - ret = madvise(reinterpret_cast(address), size, MADV_DONTNEED); -+#elif defined(__HAIKU__) -+ ret = posix_madvise(address, size, MADV_FREE); - #else - ret = madvise(address, size, MADV_DONTNEED); - #endif -diff --git a/deps/v8/src/libsampler/sampler.cc b/deps/v8/src/libsampler/sampler.cc -index e445dfc..77fa74c 100644 ---- a/deps/v8/src/libsampler/sampler.cc -+++ b/deps/v8/src/libsampler/sampler.cc -@@ -12,7 +12,7 @@ - #include - #include - --#if !V8_OS_QNX && !V8_OS_AIX -+#if !V8_OS_QNX && !V8_OS_AIX && !V8_OS_HAIKU - #include // NOLINT - #endif - -@@ -20,7 +20,7 @@ - #include - // OpenBSD doesn't have . ucontext_t lives in - // and is a typedef for struct sigcontext. There is no uc_mcontext. --#elif !V8_OS_OPENBSD -+#elif !V8_OS_OPENBSD && !V8_OS_HAIKU - #include - #endif - -@@ -481,6 +481,16 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) { - state->sp = reinterpret_cast(mcontext.mc_r13); - state->fp = reinterpret_cast(mcontext.mc_r11); - #endif // V8_HOST_ARCH_* -+#elif V8_OS_HAIKU -+#if V8_HOST_ARCH_IA32 -+ state->pc = reinterpret_cast(mcontext.eip); -+ state->sp = reinterpret_cast(mcontext.esp); -+ state->fp = reinterpret_cast(mcontext.ebp); -+#elif V8_HOST_ARCH_X64 -+ state->pc = reinterpret_cast(mcontext.rip); -+ state->sp = reinterpret_cast(mcontext.rsp); -+ state->fp = reinterpret_cast(mcontext.rbp); -+#endif // V8_HOST_ARCH_* - #elif V8_OS_NETBSD - #if V8_HOST_ARCH_IA32 - state->pc = reinterpret_cast(mcontext.__gregs[_REG_EIP]); -diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py -index f66f82a..f20ff24 100755 ---- a/deps/v8/tools/mb/mb.py -+++ b/deps/v8/tools/mb/mb.py -@@ -855,12 +855,15 @@ class MetaBuildWrapper(object): - subdir, exe = 'linux64', 'gn' - elif self.platform == 'darwin': - subdir, exe = 'mac', 'gn' -+ elif self.platform == 'haiku1': -+ subdir, exe = 'haiku','gn' -+ gn_path = "/bin/gn" - else: - subdir, exe = 'win', 'gn.exe' - - arch = platform.machine() - if (arch.startswith('s390') or arch.startswith('ppc') or -- self.platform.startswith('aix')): -+ self.platform.startswith('aix') or self.platform.startswith('haiku')): - # use gn in PATH - gn_path = 'gn' - else: --- -2.30.2 - - -From cea68cd380b21e5cc0986582cb5d9c81e11f16d9 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sun, 28 Mar 2021 10:37:44 +0200 -Subject: v8 gyp build for Haiku - - -diff --git a/tools/v8_gypfiles/features.gypi b/tools/v8_gypfiles/features.gypi -index 602d606..5f9a0f6 100644 ---- a/tools/v8_gypfiles/features.gypi -+++ b/tools/v8_gypfiles/features.gypi -@@ -46,6 +46,11 @@ - }, { - 'is_fuchsia': 0, - }], -+ ['OS == "haiku"', { -+ 'is_haiku': 1, -+ }, { -+ 'is_haiku': 0, -+ }], - ['OS=="android"', { # GYP reverts OS to linux so use `-D OS=android` - 'is_android': 1, - }, { -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index 26b8e56..f480c04 100644 ---- a/tools/v8_gypfiles/v8.gyp -+++ b/tools/v8_gypfiles/v8.gyp -@@ -991,6 +991,17 @@ - '<(V8_ROOT)/src/base/platform/platform-fuchsia.cc', - ] - }], -+ ['is_haiku', { -+ 'link_settings': { -+ 'libraries': [ -+ '-lexecinfo', -+ ] -+ }, -+ 'sources': [ -+ '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', -+ '<(V8_ROOT)/src/base/platform/platform-haiku.cc', -+ ] -+ }], - ['OS == "mac" or OS == "ios"', { - 'sources': [ - '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', --- -2.30.2 - - -From e08620dab2d8116fc6f5c009f624bf2870eb8d94 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Fri, 15 Oct 2021 14:11:45 +0200 -Subject: ares compat - - -diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc -index d54e7c6..0643dd3 100644 ---- a/src/cares_wrap.cc -+++ b/src/cares_wrap.cc -@@ -39,7 +39,7 @@ - # include - #endif // __POSIX__ - --# include -+# include - - // OpenBSD does not define these - #ifndef AI_ALL --- -2.30.2 - -From c1b5978747709c2ce6516c1771354545d6c53060 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= -Date: Mon, 5 Jul 2021 00:22:46 +0200 -Subject: [PATCH] build: uvwasi honours node_shared_libuv - -Fix #39248. ---- - deps/uvwasi/uvwasi.gyp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/deps/uvwasi/uvwasi.gyp b/deps/uvwasi/uvwasi.gyp -index d4189eeee2fc..5822f8d59bd9 100644 ---- a/deps/uvwasi/uvwasi.gyp -+++ b/deps/uvwasi/uvwasi.gyp -@@ -18,9 +18,6 @@ - 'src/wasi_rights.c', - 'src/wasi_serdes.c', - ], -- 'dependencies': [ -- '../uv/uv.gyp:libuv', -- ], - 'direct_dependent_settings': { - 'include_dirs': ['include'] - }, -@@ -31,6 +28,11 @@ - '_POSIX_C_SOURCE=200112', - ], - }], -+ [ 'node_shared_libuv=="false"', { -+ 'dependencies': [ -+ '../uv/uv.gyp:libuv', -+ ], -+ }], - ], - } - ] diff --git a/net-libs/nodejs/patches/nodejs-14.18.1.patchset b/net-libs/nodejs/patches/nodejs-14.18.1.patchset deleted file mode 100644 index 0dae7626c..000000000 --- a/net-libs/nodejs/patches/nodejs-14.18.1.patchset +++ /dev/null @@ -1,655 +0,0 @@ -From 32f439c802b1fa9fd8cc76f2f70b0ba1e2fe70ed Mon Sep 17 00:00:00 2001 -From: Calvin Hill -Date: Wed, 22 May 2019 11:23:37 +0000 -Subject: Initial Haiku support for Node.js - - -diff --git a/common.gypi b/common.gypi -index b16f643..d6b422c 100644 ---- a/common.gypi -+++ b/common.gypi -@@ -264,6 +264,9 @@ - '_target_name!="<(node_core_target_name)")', { - 'cflags!': ['-Werror'], - }], -+ ['OS=="haiku"', { -+ 'clang%': 0, -+ }], - ], - 'msvs_settings': { - 'VCCLCompilerTool': { -@@ -292,6 +295,10 @@ - ['target_arch=="arm64"', { - 'TargetMachine' : 0, # NotSet. MACHINE:ARM64 is inferred from the input files. - }], -+ ['OS == "haiku"', { -+ 'cflags': [ '-fPIC' ], -+ 'ldflags': [ '-fPIC'] -+ }], - ], - 'GenerateDebugInformation': 'true', - 'SuppressStartupBanner': 'true', -@@ -352,6 +359,10 @@ - ['_type!="static_library"', { - 'xcode_settings': {'OTHER_LDFLAGS': ['-fsanitize=address']}, - }], -+ ['OS == "haiku"', { -+ 'cflags': [ '-fPIC' ], -+ 'ldflags': [ '-fPIC'] -+ }], - ], - }], - ['v8_enable_pointer_compression == 1', { -@@ -379,7 +390,7 @@ - 'cflags': [ '-pthread' ], - 'ldflags': [ '-pthread' ], - }], -- [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', { -+ [ 'OS in "linux freebsd openbsd solaris android aix cloudabi haiku"', { - 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], - 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++1y' ], - 'defines': [ '__STDC_FORMAT_MACROS' ], -@@ -393,6 +404,10 @@ - 'cflags': [ '-I/usr/local/include' ], - 'ldflags': [ '-Wl,-z,wxneeded' ], - }], -+ ['OS=="haiku"', { -+ 'cflags': [ '-fPIC' ], -+ 'ldflags': [ '-fPIC' ], -+ }], - ], - 'conditions': [ - [ 'target_arch=="ia32"', { -@@ -552,6 +567,12 @@ - 'OPENSSL_NO_PINSHARED' - ], - }], -+ ['OS=="haiku"', { -+ 'ldflags': [ '-lroot', '-lbsd', '-lstdc++', '-lnetwork', '-Wl,-Bsymbolic', '-Wl,--export-dynamic', '-fPIC' ], -+ 'ldflags!': [ '-pthreads', '-pthread', '-rdynamic' ], -+ 'clang%': 0, -+ '%v8_use_snapshot':0, -+ }], - ['node_shared_openssl!="true"', { - # `OPENSSL_THREADS` is defined via GYP for openSSL for all architectures. - 'defines': [ -diff --git a/configure.py b/configure.py -index 30cf672..06475d2 100755 ---- a/configure.py -+++ b/configure.py -@@ -54,7 +54,7 @@ from fetch_deps import FetchDeps - parser = optparse.OptionParser() - - valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', -- 'android', 'aix', 'cloudabi') -+ 'android', 'aix', 'cloudabi', 'haiku') - valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc', - 'ppc64', 'x32','x64', 'x86', 'x86_64', 's390x') - valid_arm_float_abi = ('soft', 'softfp', 'hard') -diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi -index 76984d4..eda4459 100644 ---- a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi -+++ b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl-cl.gypi -@@ -8,11 +8,9 @@ - ], - 'openssl_cflags_linux-x86_64': [ - '-Wall -O3', -- '-pthread -m64', -- '-Wall -O3', -+ '-m64', - ], - 'openssl_ex_libs_linux-x86_64': [ -- '-ldl -pthread', - ], - 'openssl_cli_srcs_linux-x86_64': [ - 'openssl/apps/asn1pars.c', -diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi -index 11d3aa6..aba5d54 100644 ---- a/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi -+++ b/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi -@@ -692,11 +692,10 @@ - ], - 'openssl_cflags_linux-x86_64': [ - '-Wall -O3', -- '-pthread -m64', -+ '-m64', - '-Wall -O3', - ], -- 'openssl_ex_libs_linux-x86_64': [ -- '-ldl -pthread', -+ 'openssl_ex_libs_linux-x86_64': [ - ], - }, - 'include_dirs': [ -diff --git a/deps/openssl/openssl/crypto/rand/rand_unix.c b/deps/openssl/openssl/crypto/rand/rand_unix.c -index 43f1069..63b38f2 100644 ---- a/deps/openssl/openssl/crypto/rand/rand_unix.c -+++ b/deps/openssl/openssl/crypto/rand/rand_unix.c -@@ -372,7 +372,7 @@ static ssize_t syscall_random(void *buf, size_t buflen) - * Note: Sometimes getentropy() can be provided but not implemented - * internally. So we need to check errno for ENOSYS - */ --# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux) -+# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux) && !defined(__HAIKU__) - extern int getentropy(void *buffer, size_t length) __attribute__((weak)); - - if (getentropy != NULL) { -diff --git a/deps/openssl/openssl_common.gypi b/deps/openssl/openssl_common.gypi -index d866630..52558d8 100644 ---- a/deps/openssl/openssl_common.gypi -+++ b/deps/openssl/openssl_common.gypi -@@ -56,7 +56,14 @@ - 'ENGINESDIR="/dev/null"', - '__EXTENSIONS__' - ], -- }, { -+ },'OS=="haiku"', { -+ '!ldflags': ['-pthread', '-pthreads'], -+ 'defines': [ -+ 'OPENSSLDIR="/boot/system/data/ssl/"', -+ 'ENGINESDIR="/dev/null"', -+ 'TERMIOS', -+ ], -+ },{ - # linux and others - 'cflags': ['-Wno-missing-field-initializers',], - 'defines': [ -diff --git a/node.gypi b/node.gypi -index 43dbda7..dc9933d 100644 ---- a/node.gypi -+++ b/node.gypi -@@ -256,6 +256,16 @@ - 'NODE_PLATFORM="sunos"', - ], - }], -+ [ 'OS=="haiku"', { -+ 'libraries': [ -+ '-lroot', -+ '-lnetwork', -+ '-lbsd', -+ ], -+ 'defines': [ -+ 'NODE_PLATFORM="haiku"', -+ ], -+ }], - [ '(OS=="freebsd" or OS=="linux") and node_shared=="false"' - ' and force_load=="true"', { - 'ldflags': [ -diff --git a/src/node.cc b/src/node.cc -index e0e74d8..9f18f95 100644 ---- a/src/node.cc -+++ b/src/node.cc -@@ -612,7 +612,7 @@ inline void PlatformInit() { - if (nr == SIGKILL || nr == SIGSTOP) - continue; - act.sa_handler = (nr == SIGPIPE || nr == SIGXFSZ) ? SIG_IGN : SIG_DFL; -- CHECK_EQ(0, sigaction(nr, &act, nullptr)); -+ //CHECK_EQ(0, sigaction(nr, &act, nullptr)); - } - #endif // !NODE_SHARED_MODE - -diff --git a/src/node_os.cc b/src/node_os.cc -index 3cde809..fac4b87 100644 ---- a/src/node_os.cc -+++ b/src/node_os.cc -@@ -34,7 +34,7 @@ - #include - #include - #include -- -+#include - namespace node { - namespace os { - -@@ -115,7 +115,17 @@ static void GetCPUInfo(const FunctionCallbackInfo& args) { - std::vector> result; - result.reserve(count * 7); - for (int i = 0; i < count; i++) { -+ /* - uv_cpu_info_t* ci = cpu_infos + i; -+ -+ std::cout << ci->speed << std::endl; -+ std::cout << ci->model << std::endl; -+ std::cout << ci->cpu_times.user << std::endl; -+ std::cout << ci->cpu_times.nice << std::endl; -+ std::cout << ci->cpu_times.sys << std::endl; -+ std::cout << ci->cpu_times.idle << std::endl; -+ std::cout << ci->cpu_times.irq << std::endl; -+ - result.emplace_back(OneByteString(isolate, ci->model)); - result.emplace_back(Number::New(isolate, ci->speed)); - result.emplace_back(Number::New(isolate, ci->cpu_times.user)); -@@ -123,10 +133,11 @@ static void GetCPUInfo(const FunctionCallbackInfo& args) { - result.emplace_back(Number::New(isolate, ci->cpu_times.sys)); - result.emplace_back(Number::New(isolate, ci->cpu_times.idle)); - result.emplace_back(Number::New(isolate, ci->cpu_times.irq)); -+ */ - } - - uv_free_cpu_info(cpu_infos, count); -- args.GetReturnValue().Set(Array::New(isolate, result.data(), result.size())); -+// args.GetReturnValue().Set(Array::New(isolate, result.data(), result.size())); - } - - -diff --git a/src/node_report.cc b/src/node_report.cc -index a91d16d..fdaaa3a 100644 ---- a/src/node_report.cc -+++ b/src/node_report.cc -@@ -690,16 +690,16 @@ static void PrintSystemInformation(JSONWriter* writer) { - {"core_file_size_blocks", RLIMIT_CORE}, - {"data_seg_size_kbytes", RLIMIT_DATA}, - {"file_size_blocks", RLIMIT_FSIZE}, --#if !(defined(_AIX) || defined(__sun)) -+#if !(defined(_AIX) || defined(__sun) || defined(__HAIKU__)) - {"max_locked_memory_bytes", RLIMIT_MEMLOCK}, - #endif --#ifndef __sun -+#if !(defined(__sun) || defined(__HAIKU__)) - {"max_memory_size_kbytes", RLIMIT_RSS}, - #endif - {"open_files", RLIMIT_NOFILE}, - {"stack_size_bytes", RLIMIT_STACK}, - {"cpu_time_seconds", RLIMIT_CPU}, --#ifndef __sun -+#if !(defined(__sun) || defined(__HAIKU__)) - {"max_user_processes", RLIMIT_NPROC}, - #endif - #ifndef __OpenBSD__ -diff --git a/tools/utils.py b/tools/utils.py -index b8963e0..f8b7954 100644 ---- a/tools/utils.py -+++ b/tools/utils.py -@@ -59,6 +59,8 @@ def GuessOS(): - return 'win32' - elif id == 'FreeBSD': - return 'freebsd' -+ elif id == 'Haiku': -+ return 'haiku' - elif id == 'OpenBSD': - return 'openbsd' - elif id == 'SunOS': --- -2.30.2 - - -From 9c960a2d1f8d476cf66bb81464f08a7e5aa739e7 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 27 Mar 2021 14:01:44 +0100 -Subject: Haiku v8 patches - - -diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn -index a8100ad..533beba 100644 ---- a/deps/v8/BUILD.gn -+++ b/deps/v8/BUILD.gn -@@ -260,7 +260,7 @@ if (v8_enable_snapshot_native_code_counters == "") { - if (v8_enable_pointer_compression == "") { - # TODO(v8:v7703): temporarily enable pointer compression on arm64 and on x64 - v8_enable_pointer_compression = -- v8_current_cpu == "arm64" || v8_current_cpu == "x64" -+ (v8_current_cpu == "arm64" || v8_current_cpu == "x64") && !is_haiku - } - if (v8_enable_fast_torque == "") { - v8_enable_fast_torque = v8_enable_fast_mksnapshot -@@ -794,7 +794,7 @@ config("toolchain") { - } - } - -- if (is_clang) { -+ if (is_clang && !is_haiku) { - cflags += [ "-Wmissing-field-initializers" ] - - if (v8_current_cpu != "mips" && v8_current_cpu != "mipsel") { -@@ -3892,6 +3892,11 @@ v8_component("v8_libbase") { - "src/base/debug/stack_trace_fuchsia.cc", - "src/base/platform/platform-fuchsia.cc", - ] -+ } else if (is_haiku) { -+ sources += [ -+ "src/base/debug/stack_trace_posix.cc", -+ "src/base/platform/platform-haiku.cc", -+ ] - } else if (is_mac || is_ios) { - sources += [ - "src/base/debug/stack_trace_posix.cc", -@@ -4436,6 +4441,13 @@ if (is_fuchsia && !build_with_chromium) { - - group("v8_fuzzers") { - testonly = true -+ -+ if(host_os == "haiku"){ -+ data_deps = [] -+ } -+ -+ if (host_os != "haiku") { -+ - data_deps = [ - ":v8_simple_json_fuzzer", - ":v8_simple_multi_return_fuzzer", -@@ -4447,6 +4459,8 @@ group("v8_fuzzers") { - ":v8_simple_wasm_compile_fuzzer", - ":v8_simple_wasm_fuzzer", - ] -+ } -+ - } - - if (is_component_build) { -diff --git a/deps/v8/include/v8config.h b/deps/v8/include/v8config.h -index 9825232..4a07457 100644 ---- a/deps/v8/include/v8config.h -+++ b/deps/v8/include/v8config.h -@@ -61,6 +61,7 @@ - // V8_OS_CYGWIN - Cygwin - // V8_OS_DRAGONFLYBSD - DragonFlyBSD - // V8_OS_FREEBSD - FreeBSD -+// V8_OS_HAIKU - Haiku - // V8_OS_FUCHSIA - Fuchsia - // V8_OS_LINUX - Linux - // V8_OS_MACOSX - Mac OS X -@@ -100,6 +101,9 @@ - # define V8_OS_BSD 1 - # define V8_OS_FREEBSD 1 - # define V8_OS_POSIX 1 -+#elif defined(__HAIKU__) -+# define V8_OS_HAIKU 1 -+# define V8_OS_POSIX 1 - #elif defined(__Fuchsia__) - # define V8_OS_FUCHSIA 1 - # define V8_OS_POSIX 1 -diff --git a/deps/v8/src/base/debug/stack_trace_posix.cc b/deps/v8/src/base/debug/stack_trace_posix.cc -index ed602af..58b3b5d 100644 ---- a/deps/v8/src/base/debug/stack_trace_posix.cc -+++ b/deps/v8/src/base/debug/stack_trace_posix.cc -@@ -25,14 +25,15 @@ - #include - #include - --#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS -+#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS || V8_OS_HAIKU - #define HAVE_EXECINFO_H 1 - #endif - --#if HAVE_EXECINFO_H -+#if defined(HAVE_EXECINFO_H) - #include - #include - #endif -+ - #if V8_OS_MACOSX - #include - #endif -diff --git a/deps/v8/src/base/export-template.h b/deps/v8/src/base/export-template.h -index 861cfe4..8c6d885 100644 ---- a/deps/v8/src/base/export-template.h -+++ b/deps/v8/src/base/export-template.h -@@ -83,6 +83,7 @@ - // definition sites instead. - #define EXPORT_TEMPLATE_DECLARE_MSVC_HACK(export, _) - #define EXPORT_TEMPLATE_DEFINE_MSVC_HACK(export, _) export -+#define EXPORT_TEMPLATE_TEST_MSVC_HACK_DEFAULT(...) true - - // EXPORT_TEMPLATE_STYLE is an internal helper macro that identifies which - // export style needs to be used for the provided FOO_EXPORT macro definition. -@@ -159,5 +160,5 @@ EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); - #undef EXPORT_TEMPLATE_TEST - #undef EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT - #undef EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK -- -+#undef EXPORT_TEMPLATE_TEST_MSVC_HACK_DEFAULT - #endif // V8_BASE_EXPORT_TEMPLATE_H_ -diff --git a/deps/v8/src/base/platform/platform-haiku.cc b/deps/v8/src/base/platform/platform-haiku.cc -new file mode 100644 -index 0000000..c4f0ae3 ---- /dev/null -+++ b/deps/v8/src/base/platform/platform-haiku.cc -@@ -0,0 +1,59 @@ -+// Copyright 2012 the V8 project authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+// Platform-specific code for Haiku goes here. For the POSIX-compatible -+// parts, the implementation is in platform-posix.cc. -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include // open -+#include // mmap & munmap -+#include // open -+#include // sysconf -+#include -+#include -+#include -+#include // index -+ -+#include -+ -+#include -+ -+#undef MAP_TYPE -+ -+#include "src/base/macros.h" -+#include "src/base/platform/platform-posix-time.h" -+#include "src/base/platform/platform-posix.h" -+#include "src/base/platform/platform.h" -+ -+namespace v8 { -+namespace base { -+ -+TimezoneCache* OS::CreateTimezoneCache() { -+ return new PosixDefaultTimezoneCache(); -+} -+ -+std::vector OS::GetSharedLibraryAddresses() { -+ return std::vector(); -+} -+ -+void OS::SignalCodeMovingGC() {} -+ -+void OS::AdjustSchedulingParams() {} -+ -+// static -+void* Stack::GetStackStart() { -+ thread_info threadInfo; -+ get_thread_info(find_thread(NULL), &threadInfo); -+ return threadInfo.stack_base; -+} -+ -+} // namespace base -+} // namespace v8 -diff --git a/deps/v8/src/base/platform/platform-posix.cc b/deps/v8/src/base/platform/platform-posix.cc -index e5aa4de..dbf3c65 100644 ---- a/deps/v8/src/base/platform/platform-posix.cc -+++ b/deps/v8/src/base/platform/platform-posix.cc -@@ -61,7 +61,7 @@ - #include - #endif - --#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) -+#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) && !defined(__HAIKU__) - #include - #endif - -@@ -77,6 +77,14 @@ extern int madvise(caddr_t, size_t, int); - #endif - #endif - -+#if defined(__HAIKU__) -+extern "C" int posix_madvise(void*, size_t, int); -+#endif -+ -+#if defined(__HAIKU__) -+#define MADV_FREE POSIX_MADV_DONTNEED -+#endif -+ - #ifndef MADV_FREE - #define MADV_FREE MADV_DONTNEED - #endif -@@ -429,6 +437,8 @@ bool OS::DiscardSystemPages(void* address, size_t size) { - int ret = madvise(address, size, MADV_FREE_REUSABLE); - #elif defined(_AIX) || defined(V8_OS_SOLARIS) - int ret = madvise(reinterpret_cast(address), size, MADV_FREE); -+#elif defined(__HAIKU__) -+ int ret = posix_madvise(address, size, MADV_FREE); - #else - int ret = madvise(address, size, MADV_FREE); - #endif -@@ -440,6 +450,8 @@ bool OS::DiscardSystemPages(void* address, size_t size) { - // imply runtime support. - #if defined(_AIX) || defined(V8_OS_SOLARIS) - ret = madvise(reinterpret_cast(address), size, MADV_DONTNEED); -+#elif defined(__HAIKU__) -+ ret = posix_madvise(address, size, MADV_FREE); - #else - ret = madvise(address, size, MADV_DONTNEED); - #endif -@@ -987,7 +999,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void* value) { - // keep this version in POSIX as most Linux-compatible derivatives will - // support it. MacOS and FreeBSD are different here. - #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_MACOSX) && !defined(_AIX) && \ -- !defined(V8_OS_SOLARIS) -+ !defined(V8_OS_SOLARIS) && !defined(V8_OS_HAIKU) - - // static - void* Stack::GetStackStart() { -diff --git a/deps/v8/src/libsampler/sampler.cc b/deps/v8/src/libsampler/sampler.cc -index 0443657..10026b6 100644 ---- a/deps/v8/src/libsampler/sampler.cc -+++ b/deps/v8/src/libsampler/sampler.cc -@@ -12,7 +12,7 @@ - #include - #include - --#if !V8_OS_QNX && !V8_OS_AIX -+#if !V8_OS_QNX && !V8_OS_AIX && !V8_OS_HAIKU - #include // NOLINT - #endif - -@@ -20,7 +20,7 @@ - #include - // OpenBSD doesn't have . ucontext_t lives in - // and is a typedef for struct sigcontext. There is no uc_mcontext. --#elif !V8_OS_OPENBSD -+#elif !V8_OS_OPENBSD && !V8_OS_HAIKU - #include - #endif - -@@ -490,6 +490,16 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) { - state->sp = reinterpret_cast(mcontext.__gregs[_REG_SP]); - state->fp = reinterpret_cast(mcontext.__gregs[_REG_FP]); - #endif // V8_HOST_ARCH_* -+#elif V8_OS_HAIKU -+#if V8_HOST_ARCH_IA32 -+ state->pc = reinterpret_cast(mcontext.eip); -+ state->sp = reinterpret_cast(mcontext.esp); -+ state->fp = reinterpret_cast(mcontext.ebp); -+#elif V8_HOST_ARCH_X64 -+ state->pc = reinterpret_cast(mcontext.rip); -+ state->sp = reinterpret_cast(mcontext.rsp); -+ state->fp = reinterpret_cast(mcontext.rbp); -+#endif // V8_HOST_ARCH_* - #elif V8_OS_NETBSD - #if V8_HOST_ARCH_IA32 - state->pc = reinterpret_cast(mcontext.__gregs[_REG_EIP]); -diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py -index f3e4615..c3649ba 100755 ---- a/deps/v8/tools/mb/mb.py -+++ b/deps/v8/tools/mb/mb.py -@@ -869,12 +869,15 @@ class MetaBuildWrapper(object): - subdir, exe = 'linux64', 'gn' - elif self.platform == 'darwin': - subdir, exe = 'mac', 'gn' -+ elif self.platform == 'haiku1': -+ subdir, exe = 'haiku','gn' -+ gn_path = "/bin/gn" - else: - subdir, exe = 'win', 'gn.exe' - - arch = platform.machine() - if (arch.startswith('s390') or arch.startswith('ppc') or -- self.platform.startswith('aix')): -+ self.platform.startswith('aix') or self.platform.startswith('haiku')): - # use gn in PATH - gn_path = 'gn' - else: --- -2.30.2 - - -From d36ede92f62b5386f21bb20f2bcd95f5f88793e3 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 27 Mar 2021 18:23:32 +0100 -Subject: v8 gyp build for Haiku - - -diff --git a/tools/v8_gypfiles/features.gypi b/tools/v8_gypfiles/features.gypi -index b24e0b3..c2a7ecb 100644 ---- a/tools/v8_gypfiles/features.gypi -+++ b/tools/v8_gypfiles/features.gypi -@@ -46,6 +46,11 @@ - }, { - 'is_fuchsia': 0, - }], -+ ['OS == "haiku"', { -+ 'is_haiku': 1, -+ }, { -+ 'is_haiku': 0, -+ }], - ['OS=="android"', { # GYP reverts OS to linux so use `-D OS=android` - 'is_android': 1, - }, { -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index 48ec392..5e3c90c 100644 ---- a/tools/v8_gypfiles/v8.gyp -+++ b/tools/v8_gypfiles/v8.gyp -@@ -1085,6 +1085,17 @@ - '<(V8_ROOT)/src/base/platform/platform-fuchsia.cc', - ] - }], -+ ['is_haiku', { -+ 'link_settings': { -+ 'libraries': [ -+ '-lexecinfo', -+ ] -+ }, -+ 'sources': [ -+ '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', -+ '<(V8_ROOT)/src/base/platform/platform-haiku.cc', -+ ] -+ }], - ['OS == "mac" or OS == "ios"', { - 'sources': [ - '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', --- -2.30.2 - - -From b5ab564aba7d6d0158cbf3c1224632bcec2e2483 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Fri, 15 Oct 2021 14:42:17 +0200 -Subject: ares compat - - -diff --git a/src/cares_wrap.h b/src/cares_wrap.h -index 60f99e6..44e254b 100644 ---- a/src/cares_wrap.h -+++ b/src/cares_wrap.h -@@ -22,7 +22,7 @@ - # include - #endif // __POSIX__ - --# include -+# include - - namespace node { - namespace cares_wrap { --- -2.30.2 -