diff options
Diffstat (limited to 'www')
31 files changed, 468 insertions, 1102 deletions
diff --git a/www/Makefile b/www/Makefile index 1446c2b57c5b..434570735c04 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1908,6 +1908,7 @@ SUBDIR += py-restclient SUBDIR += py-rfc3986 SUBDIR += py-rfc3987 + SUBDIR += py-rfc3987-syntax SUBDIR += py-rollbar SUBDIR += py-routes SUBDIR += py-rules diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile index d887e2e9f95f..fae9b93955d8 100644 --- a/www/onlyoffice-documentserver/Makefile +++ b/www/onlyoffice-documentserver/Makefile @@ -1,6 +1,6 @@ PORTNAME= onlyoffice-documentserver DISTVERSIONPREFIX= v -DISTVERSION= 9.0.2.16 +DISTVERSION= 9.0.3.31 CATEGORIES= www MASTER_SITES+= LOCAL/mikael/v8/:source1 \ https://nodejs.org/dist/v${NODE_VERSION_PKGFETCH}/:source3 \ @@ -66,7 +66,7 @@ GH_TUPLE= ONLYOFFICE:core:v${DISTVERSION}:core/core \ hunspell:hyphen:73dd296:hunspell_hyphen/core/Common/3dParty/hyphen/hyphen \ mity:md4c:481fbfb:mity_md4c/core/Common/3dParty/md/md4c \ fsbruva:onlyoffice-DS-pkg-cache:v${NODE_VERSION_PKGFETCH}:pkg_cache/ \ - fsbruva:onlyoffice-DS-npm-cache:v${DISTVERSION}-20250701:npm_cache/ + fsbruva:onlyoffice-DS-npm-cache:v${DISTVERSION}-20250721:npm_cache/ OPTIONS_SINGLE= DB OPTIONS_SINGLE_DB= MYSQL PGSQL @@ -99,11 +99,11 @@ SUB_LIST= DS_GROUPNAME=${DS_GROUPNAME} \ PREFIX=${PREFIX} \ WWWDIR=${WWWDIR} -# node version used with "npm install @yao-pkg/pkg@6.5.1" +# node version used with "npm install @yao-pkg/pkg@6.6.0" # keep in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile -NODE_VERSION_PKGFETCH= 20.19.1 +NODE_VERSION_PKGFETCH= 20.19.4 -MAKE_ENV= BUILD_NUMBER="36" \ +MAKE_ENV= BUILD_NUMBER="31" \ PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \ PRODUCT_VERSION=${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} \ BUILD_NUMBER=${DISTVERSION:C/^[0-9]+\.[0-9]+\.[0-9]+\.([0-9]+)/\1/} @@ -117,7 +117,7 @@ DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/htt CONFLICTS_BUILD=devel/googletest .include <bsd.port.pre.mk> -.if ${ARCH} == aarch64 +.if ${ARCH} == aarch64 || ${ARCH} == armv7 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ @@ -207,7 +207,7 @@ do-build: @${MKDIR} ${WRKSRC}/yao-pkg @${CP} ${FILESDIR}/package* ${WRKSRC}/yao-pkg - @cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@6.5.1 + @cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@6.6.0 @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_lib-es5_build.js || ${TRUE} @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_patches_node.v${NODE_VERSION_PKGFETCH}.cpp.patch || ${TRUE} @@ -266,7 +266,7 @@ create-caches-tarball: ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 755 -exec file {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 644 -exec file {} \; | ${EGREP} -v "${NODE_VERSION_PKGFETCH}" | ${EGREP} "built-v|node-v" | ${EGREP} "tar.gz|sha256sum" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} - cd ${WRKDIR} && \ - ${TAR} czf ${PORTNAME}-${DISTVERSION}_`date +%Y%m%d`-npm-cache.tar.gz .npm .pkg-cache +# cd ${WRKDIR} && \ +# ${TAR} czf ${PORTNAME}-${DISTVERSION}_`date +%Y%m%d`-npm-cache.tar.gz .npm .pkg-cache .include <bsd.port.post.mk> diff --git a/www/onlyoffice-documentserver/distinfo b/www/onlyoffice-documentserver/distinfo index 432711cf408e..c9bcfbbcf825 100644 --- a/www/onlyoffice-documentserver/distinfo +++ b/www/onlyoffice-documentserver/distinfo @@ -1,38 +1,36 @@ -TIMESTAMP = 1751344944 +TIMESTAMP = 1753116846 SHA256 (v8-8.9.255.25_all.tar.gz) = 54853ef93accc063a82a0dc29457b25c9b6d88315431d62e06ab1f84797c5f80 SIZE (v8-8.9.255.25_all.tar.gz) = 72818814 -SHA256 (node-v20.19.1.tar.gz) = 691011ddb85c9ab86afb7ead2b6db2ddd45592f1c8fd26687d152dcadc182229 -SIZE (node-v20.19.1.tar.gz) = 88078477 +SHA256 (node-v20.19.4.tar.gz) = cc363c0a90fe5025939175c1c29ab67235f36ebe4b5d78506634da27a73eef5d +SIZE (node-v20.19.4.tar.gz) = 89308973 SHA256 (optipng-0.7.8.tar.gz) = 25a3bd68481f21502ccaa0f4c13f84dcf6b20338e4c4e8c51f2cefbd8513398c SIZE (optipng-0.7.8.tar.gz) = 3294014 -SHA256 (onlyoffice-documentserver-9.0.2.16_20250630-npm-cache.tar.gz) = 11738d912f93adb7bf401ae06cb70d2357a4b35177cae7ceb5915fa5267e3522 -SIZE (onlyoffice-documentserver-9.0.2.16_20250630-npm-cache.tar.gz) = 249461250 -SHA256 (ONLYOFFICE-DocumentServer-v9.0.2.16-v9.0.2_GH0.tar.gz) = 272dc092623ca12964c09aa0893676aa508bf0900a5ab04215d7086306d2583d -SIZE (ONLYOFFICE-DocumentServer-v9.0.2.16-v9.0.2_GH0.tar.gz) = 972017 -SHA256 (ONLYOFFICE-core-v9.0.2.16_GH0.tar.gz) = 79d7aaf8b591017911febef0e141f9c3735faa33d1e68d605e80237082805f14 -SIZE (ONLYOFFICE-core-v9.0.2.16_GH0.tar.gz) = 205184118 -SHA256 (ONLYOFFICE-core-fonts-v9.0.2.16_GH0.tar.gz) = 56ba5c76d053d2ae625d2f4a01a955ecb2f1d25b9bef896313281588879f676a -SIZE (ONLYOFFICE-core-fonts-v9.0.2.16_GH0.tar.gz) = 95376454 -SHA256 (ONLYOFFICE-dictionaries-v9.0.2.16_GH0.tar.gz) = c1665cd8de6a528b255b5d0d200f689a53c72bb36218dbf8ac046c4b04a7fe85 -SIZE (ONLYOFFICE-dictionaries-v9.0.2.16_GH0.tar.gz) = 57973827 -SHA256 (ONLYOFFICE-document-server-integration-v9.0.2.16_GH0.tar.gz) = 61759413e2c63ca94117b30442e985e2ea5d3e559b1e6d740adfa916e55a6074 -SIZE (ONLYOFFICE-document-server-integration-v9.0.2.16_GH0.tar.gz) = 6128854 -SHA256 (ONLYOFFICE-document-templates-v9.0.2.16_GH0.tar.gz) = ba8288f4c67ce21d8c4f3ec995b02c5df43464314770805c7c57860b79e31756 -SIZE (ONLYOFFICE-document-templates-v9.0.2.16_GH0.tar.gz) = 3914530 -SHA256 (ONLYOFFICE-sdkjs-v9.0.2.16_GH0.tar.gz) = ecdb6c32c426e86b1bca71fc129f283430a14abc3e747464b8b9167ba08e264b -SIZE (ONLYOFFICE-sdkjs-v9.0.2.16_GH0.tar.gz) = 37688710 -SHA256 (ONLYOFFICE-server-v9.0.2.16_GH0.tar.gz) = 4d1dc02e4be3546bb6c1bbf6547eb4c46262e0554cacf81314ff741ce2ed5027 -SIZE (ONLYOFFICE-server-v9.0.2.16_GH0.tar.gz) = 4082601 -SHA256 (ONLYOFFICE-web-apps-v9.0.2.16_GH0.tar.gz) = 6befc028e52e4176e2007274915efc3354aa474ef7df6bdad0299204fb1ebf2b -SIZE (ONLYOFFICE-web-apps-v9.0.2.16_GH0.tar.gz) = 443520777 -SHA256 (ONLYOFFICE-build_tools-v9.0.2.16_GH0.tar.gz) = fe7b82477a78ed2a272c841d75c8a6383506a194b3893547ee70a86193943f50 -SIZE (ONLYOFFICE-build_tools-v9.0.2.16_GH0.tar.gz) = 33870057 +SHA256 (ONLYOFFICE-DocumentServer-v9.0.3.31-v9.0.3_GH0.tar.gz) = 9f12f50e2460b1199c24661d4f88ad349385dcc441740291b9f8e110686ef360 +SIZE (ONLYOFFICE-DocumentServer-v9.0.3.31-v9.0.3_GH0.tar.gz) = 973386 +SHA256 (ONLYOFFICE-core-v9.0.3.31_GH0.tar.gz) = fa6b4b2f729b4dd6d7ac6bf5393fd8ed5a3a821f3f7a376dcff891c81a8a59a4 +SIZE (ONLYOFFICE-core-v9.0.3.31_GH0.tar.gz) = 205214176 +SHA256 (ONLYOFFICE-core-fonts-v9.0.3.31_GH0.tar.gz) = 48fbe7bac524f21b9b146d8242ec9968cdb94b825aae6171cc30a285b5dd7189 +SIZE (ONLYOFFICE-core-fonts-v9.0.3.31_GH0.tar.gz) = 95377304 +SHA256 (ONLYOFFICE-dictionaries-v9.0.3.31_GH0.tar.gz) = c23a98195b429d0a8e2ed06d5119c41a3246f585ccf4d1ba5f74af9327e6dec4 +SIZE (ONLYOFFICE-dictionaries-v9.0.3.31_GH0.tar.gz) = 57973415 +SHA256 (ONLYOFFICE-document-server-integration-v9.0.3.31_GH0.tar.gz) = 2af3f3c324ec434e26649f1fa62fb9f01180b196ba44484d5c2be9b67de602b2 +SIZE (ONLYOFFICE-document-server-integration-v9.0.3.31_GH0.tar.gz) = 6129610 +SHA256 (ONLYOFFICE-document-templates-v9.0.3.31_GH0.tar.gz) = 5e12565edaf35cd44b8263fcf8182dcd18b84bb8a9a45404bf2a48cc75e3e9a6 +SIZE (ONLYOFFICE-document-templates-v9.0.3.31_GH0.tar.gz) = 3914552 +SHA256 (ONLYOFFICE-sdkjs-v9.0.3.31_GH0.tar.gz) = c043f08e86218f8b85d3a9e5d9303fa46376959cbcdd9debf02ea74f55fdf886 +SIZE (ONLYOFFICE-sdkjs-v9.0.3.31_GH0.tar.gz) = 37755295 +SHA256 (ONLYOFFICE-server-v9.0.3.31_GH0.tar.gz) = b398762099b6a0a4006bcfb332de22f09be01a83b25352a9f42cc93ae6429246 +SIZE (ONLYOFFICE-server-v9.0.3.31_GH0.tar.gz) = 4082661 +SHA256 (ONLYOFFICE-web-apps-v9.0.3.31_GH0.tar.gz) = 40bdf74edc25934b1b0339e08813bbf891b4c7ca3e4fdfe1752d787b3df31bec +SIZE (ONLYOFFICE-web-apps-v9.0.3.31_GH0.tar.gz) = 443570310 +SHA256 (ONLYOFFICE-build_tools-v9.0.3.31_GH0.tar.gz) = 04a08acf1317ac14c45efea6af565667a64a3aea873e2e0549f695fc6a4b4374 +SIZE (ONLYOFFICE-build_tools-v9.0.3.31_GH0.tar.gz) = 33872416 SHA256 (ONLYOFFICE-DocumentBuilder-626d1e44db3d06ceb8298215a67ef0475912d89a_GH0.tar.gz) = 275c3a8c993528fa56c69aedb11dd74a6fba9c3bd372874004584ae9cbb190b5 SIZE (ONLYOFFICE-DocumentBuilder-626d1e44db3d06ceb8298215a67ef0475912d89a_GH0.tar.gz) = 31659 SHA256 (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 347b8f1d3c21b1f61a3f1fcae86f402b27ce4f8b826e18158834251046d83cf5 SIZE (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 17009005 -SHA256 (ONLYOFFICE-document-server-package-v9.0.2.16_GH0.tar.gz) = c3153d922b38362146a209eade7f645e72504e19d5eb760354c57c223c4b637f -SIZE (ONLYOFFICE-document-server-package-v9.0.2.16_GH0.tar.gz) = 186621 +SHA256 (ONLYOFFICE-document-server-package-v9.0.3.31_GH0.tar.gz) = 301068c8feb5a50aa7c8c882099dfea0cb0f99ea155784e95b3870dd71635c38 +SIZE (ONLYOFFICE-document-server-package-v9.0.3.31_GH0.tar.gz) = 186645 SHA256 (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 363ede45ba6d125fdb7323c43d34acd3d0ae9028ac18aec632eb6a623160f09a SIZE (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 97712 SHA256 (google-gumbo-parser-aa91b27_GH0.tar.gz) = 1360f85c02fb2573a10f00abcddebc8f1ff277a16f66553439193af93afae335 @@ -41,7 +39,7 @@ SHA256 (hunspell-hyphen-73dd296_GH0.tar.gz) = 93e80ad69ee7afd507b12f0b58ca34a6a7 SIZE (hunspell-hyphen-73dd296_GH0.tar.gz) = 292528 SHA256 (mity-md4c-481fbfb_GH0.tar.gz) = 04e03a69a2783ab5f2449f8864499dabb150092d5f48415a5e423f762a209d54 SIZE (mity-md4c-481fbfb_GH0.tar.gz) = 238753 -SHA256 (fsbruva-onlyoffice-DS-pkg-cache-v20.19.1_GH0.tar.gz) = df466a0ea8365d10089d3169b224b079bb0ec409c57f2ff79c4f6048f8c5d29c -SIZE (fsbruva-onlyoffice-DS-pkg-cache-v20.19.1_GH0.tar.gz) = 1288 -SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.0.2.16-20250701_GH0.tar.gz) = c8a355fe7941a29ba6ba51c97c52808ef5cfe3047cb4f31335a2e03cdfd84354 -SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.0.2.16-20250701_GH0.tar.gz) = 161979161 +SHA256 (fsbruva-onlyoffice-DS-pkg-cache-v20.19.4_GH0.tar.gz) = d3b6a1ad3afdfd53b57809980ae83434ae727d421e9e383ae69c32e37a570918 +SIZE (fsbruva-onlyoffice-DS-pkg-cache-v20.19.4_GH0.tar.gz) = 1292 +SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.0.3.31-20250721_GH0.tar.gz) = 7f3f935337e91c1d1d7f8d2b3e0456dbac15b617581ac064ffd322082c488fb7 +SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.0.3.31-20250721_GH0.tar.gz) = 162622276 diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.1.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.1.cpp.patch deleted file mode 100644 index 44c114f57dd6..000000000000 --- a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.1.cpp.patch +++ /dev/null @@ -1,1014 +0,0 @@ -https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v20.19.1.cpp.patch -+ local FreeBSD patches - ---- yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch -+++ yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch -@@ -11,6 +11,24 @@ index d3c17d47bc..7970af6ea4 100644 - }], - ], - }, -+@@ -426,7 +426,7 @@ -+ 'ldflags': [ '-m32' ], -+ }], -+ [ 'host_arch=="ppc64" and OS not in "aix os400"', { -+- 'cflags': [ '-m64', '-mminimal-toc' ], -++ 'cflags': [ '-m64' ], -+ 'ldflags': [ '-m64' ], -+ }], -+ [ 'host_arch=="s390x" and OS=="linux"', { -+@@ -450,7 +450,7 @@ -+ 'ldflags': [ '-m32' ], -+ }], -+ [ 'target_arch=="ppc64" and OS not in "aix os400"', { -+- 'cflags': [ '-m64', '-mminimal-toc' ], -++ 'cflags': [ '-m64' ], -+ 'ldflags': [ '-m64' ], -+ }], -+ [ 'target_arch=="s390x" and OS=="linux"', { - diff --git node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c - index 5e7775f1a5..eeebf67796 100644 - --- node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -@@ -600,3 +618,375 @@ index 2655b9e694..1d951571c7 100644 - 'cflags_cc!': [ '-fno-rtti' ], - }], - [ 'OS == "mac" or OS == "ios"', { -+--- node/Makefile.orig 2025-05-14 12:22:41 UTC -++++ node/Makefile -+@@ -171,8 +171,7 @@ out/Makefile: config.gypi common.gypi node.gyp \ -+ $(warning '$@' target is a noop) -+ -+ out/Makefile: config.gypi common.gypi node.gyp \ -+- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ -+- deps/simdutf/simdutf.gyp deps/ada/ada.gyp \ -++ deps/*/*.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 -+--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2023-05-16 06:58:19 UTC -++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi -+@@ -13,7 +13,7 @@ -+ '-Wall -O3 -fomit-frame-pointer', -+ ], -+ 'openssl_ex_libs_linux-elf': [ -+- '-ldl -pthread', -++ '-pthread', -+ ], -+ 'openssl_cli_srcs_linux-elf': [ -+ 'openssl/apps/lib/cmp_mock_srv.c', -+--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2023-05-16 06:58:19 UTC -++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi -+@@ -977,7 +977,7 @@ -+ '-Wall -O3 -fomit-frame-pointer', -+ ], -+ 'openssl_ex_libs_linux-elf': [ -+- '-ldl -pthread', -++ '-pthread', -+ ], -+ }, -+ 'include_dirs': [ -+--- node/deps/openssl/openssl-cl_no_asm.gypi.orig 2023-11-22 10:13:54 UTC -++++ node/deps/openssl/openssl-cl_no_asm.gypi -+@@ -1,4 +1,5 @@ -+ { -++ 'defines': ['OPENSSL_NO_ASM'], -+ 'conditions': [ -+ ['target_arch=="ppc64" and OS in ("aix", "os400")', { -+ 'includes': ['config/archs/aix64-gcc-as/no-asm/openssl-cl.gypi'], -+@@ -45,7 +46,7 @@ -+ 'includes': ['config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi'], -+ }, { -+ # Other architectures don't use assembly -+- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], -++ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'], -+ }], -+ ], -+ } -+--- node/deps/openssl/openssl_no_asm.gypi.orig 2023-05-16 06:58:20 UTC -++++ node/deps/openssl/openssl_no_asm.gypi -+@@ -44,7 +44,7 @@ -+ 'includes': ['config/archs/linux64-riscv64/no-asm/openssl.gypi'], -+ }, { -+ # Other architectures don't use assembly -+- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], -++ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'], -+ }], -+ ], -+ } -+--- node/deps/v8/src/base/macros.h.orig 2021-04-12 21:00:33.000000000 +0000 -++++ node/deps/v8/src/base/macros.h 2025-06-20 09:42:18.838769000 +0000 -+@@ -203,7 +203,8 @@ -+ // base::is_trivially_copyable will differ for these cases. -+ template <typename T> -+ struct is_trivially_copyable { -+-#if V8_CC_MSVC -++#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) || \ -++ (defined(__clang__) && __clang_major__ <= 17) -+ // Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can -+ // be false even though it should be true according to the standard. -+ // (status at 2018-02-26, observed on the msvc waterfall bot). -+--- node/deps/v8/src/base/platform/platform-freebsd.cc.orig 2023-05-16 06:58:20 UTC -++++ node/deps/v8/src/base/platform/platform-freebsd.cc -+@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib -+ lib_name = std::string(path); -+ } -+ result.push_back(SharedLibraryAddress( -+- lib_name, reinterpret_cast<uintptr_t>(map->kve_start), -+- reinterpret_cast<uintptr_t>(map->kve_end))); -++ lib_name, static_cast<uintptr_t>(map->kve_start), -++ static_cast<uintptr_t>(map->kve_end))); -+ } -+ -+ start += ssize; -+--- node/deps/v8/src/codegen/arm/cpu-arm.cc.orig 2023-05-16 06:58:20 UTC -++++ node/deps/v8/src/codegen/arm/cpu-arm.cc -+@@ -2,12 +2,15 @@ -+ // Use of this source code is governed by a BSD-style license that can be -+ // found in the LICENSE file. -+ -++#include "include/v8config.h" -++ -+ // CPU specific code for arm independent of OS goes here. -+ #ifdef __arm__ -+ #ifdef __QNXNTO__ -+ #include <sys/mman.h> // for cache flushing. -+ #undef MAP_TYPE -+ #elif V8_OS_FREEBSD -++#include <sys/cdefs.h> -+ #include <machine/sysarch.h> // for cache flushing -+ #include <sys/types.h> -+ #elif V8_OS_STARBOARD -+--- node/deps/v8/src/codegen/ppc/constants-ppc.h.orig 2023-05-16 06:58:20 UTC -++++ node/deps/v8/src/codegen/ppc/constants-ppc.h -+@@ -36,7 +36,7 @@ -+ #endif -+ -+ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || !V8_TARGET_ARCH_PPC64 || \ -+- V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2) -++ (defined(_CALL_ELF) && _CALL_ELF == 2) -+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 -+ #else -+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 -+@@ -44,7 +44,7 @@ -+ -+ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || \ -+ (V8_TARGET_ARCH_PPC64 && \ -+- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) -++ (defined(_CALL_ELF) && _CALL_ELF == 2)) -+ #define ABI_CALL_VIA_IP 1 -+ #else -+ #define ABI_CALL_VIA_IP 0 -+--- node/deps/v8/src/libsampler/sampler.cc.orig 2023-05-16 06:58:20 UTC -++++ node/deps/v8/src/libsampler/sampler.cc -+@@ -511,6 +511,10 @@ void SignalHandler::FillRegisterState(void* context, R -+ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]); -+ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]); -+ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]); -++#elif V8_TARGET_ARCH_PPC64 -++ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0); -++ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]); -++ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]); -+ #endif // V8_HOST_ARCH_* -+ #elif V8_OS_NETBSD -+ #if V8_HOST_ARCH_IA32 -+Obtained from: https://chromium.googlesource.com/v8/v8.git/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f -+ -+commit 182d9c05e78b1ddb1cb8242cd3628a7855a0336f -+Author: Andrey Kosyakov <caseq@chromium.org> -+Date: 2023-08-17T13:50:11-07:00 -+ -+ Define UChar as char16_t -+ -+ We used to have UChar defined as uint16_t which does not go along -+ with STL these days if you try to have an std::basic_string<> of it, -+ as there are no standard std::char_traits<> specialization for uint16_t. -+ -+ This switches UChar to char16_t where practical, introducing a few -+ compatibility shims to keep CL size small, as (1) this would likely -+ have to be back-ported and (2) crdtp extensively uses uint16_t for -+ wide chars. -+ -+ Bug: b:296390693 -+ Change-Id: I66a32d8f0050915225b187de56896c26dd76163d -+ Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4789966 -+ Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> -+ Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> -+ Auto-Submit: Andrey Kosyakov <caseq@chromium.org> -+ Cr-Commit-Position: refs/heads/main@{#89559} -+ -+diff --git node/deps/v8/src/inspector/string-16.cc node/deps/v8/src/inspector/string-16.cc -+index a8b786a8166..6df9963e970 100644 -+--- node/deps/v8/src/inspector/string-16.cc -++++ node/deps/v8/src/inspector/string-16.cc -+@@ -27,7 +27,7 @@ bool isSpaceOrNewLine(UChar c) { -+ return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); -+ } -+ -+-int64_t charactersToInteger(const UChar* characters, size_t length, -++int64_t charactersToInteger(const uint16_t* characters, size_t length, -+ bool* ok = nullptr) { -+ std::vector<char> buffer; -+ buffer.reserve(length + 1); -+@@ -50,6 +50,8 @@ int64_t charactersToInteger(const UChar* characters, size_t length, -+ -+ String16::String16(const UChar* characters, size_t size) -+ : m_impl(characters, size) {} -++String16::String16(const uint16_t* characters, size_t size) -++ : m_impl(reinterpret_cast<const UChar*>(characters), size) {} -+ -+ String16::String16(const UChar* characters) : m_impl(characters) {} -+ -+@@ -241,6 +243,10 @@ String16 String16::fromUTF16LE(const UChar* stringStart, size_t length) { -+ #endif // V8_TARGET_BIG_ENDIAN -+ } -+ -++String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { -++ return fromUTF16LE(reinterpret_cast<const UChar*>(stringStart), length); -++} -++ -+ std::string String16::utf8() const { -+ return UTF16ToUTF8(m_impl.data(), m_impl.size()); -+ } -+diff --git node/deps/v8/src/inspector/string-16.h node/deps/v8/src/inspector/string-16.h -+index 1678ffb2e1e..d9f6c466ab1 100644 -+--- node/deps/v8/src/inspector/string-16.h -++++ node/deps/v8/src/inspector/string-16.h -+@@ -6,6 +6,7 @@ -+ #define V8_INSPECTOR_STRING_16_H_ -+ -+ #include <stdint.h> -++#include <uchar.h> -+ -+ #include <cctype> -+ #include <climits> -+@@ -18,7 +19,7 @@ -+ -+ namespace v8_inspector { -+ -+-using UChar = uint16_t; -++using UChar = char16_t; -+ -+ class String16 { -+ public: -+@@ -28,6 +29,7 @@ class String16 { -+ String16(const String16&) V8_NOEXCEPT = default; -+ String16(String16&&) V8_NOEXCEPT = default; -+ String16(const UChar* characters, size_t size); -++ String16(const uint16_t* characters, size_t size); -+ V8_EXPORT String16(const UChar* characters); -+ V8_EXPORT String16(const char* characters); -+ String16(const char* characters, size_t size); -+@@ -49,7 +51,9 @@ class String16 { -+ int toInteger(bool* ok = nullptr) const; -+ std::pair<size_t, size_t> getTrimmedOffsetAndLength() const; -+ String16 stripWhiteSpace() const; -+- const UChar* characters16() const { return m_impl.c_str(); } -++ const uint16_t* characters16() const { -++ return reinterpret_cast<const uint16_t*>(m_impl.c_str()); -++ } -+ size_t length() const { return m_impl.length(); } -+ bool isEmpty() const { return !m_impl.length(); } -+ UChar operator[](size_t index) const { return m_impl[index]; } -+@@ -79,6 +83,8 @@ class String16 { -+ // On Big endian architectures, byte order needs to be flipped. -+ V8_EXPORT static String16 fromUTF16LE(const UChar* stringStart, -+ size_t length); -++ V8_EXPORT static String16 fromUTF16LE(const uint16_t* stringStart, -++ size_t length); -+ -+ std::size_t hash() const { -+ if (!hash_code) { -+diff --git node/deps/v8/src/inspector/v8-string-conversions.cc node/deps/v8/src/inspector/v8-string-conversions.cc -+index 0c75e66b972..8cf19be816c 100644 -+--- node/deps/v8/src/inspector/v8-string-conversions.cc -++++ node/deps/v8/src/inspector/v8-string-conversions.cc -+@@ -12,7 +12,7 @@ -+ -+ namespace v8_inspector { -+ namespace { -+-using UChar = uint16_t; -++using UChar = char16_t; -+ using UChar32 = uint32_t; -+ -+ bool isASCII(UChar c) { return !(c & ~0x7F); } -+@@ -386,7 +386,7 @@ std::string UTF16ToUTF8(const UChar* stringStart, size_t length) { -+ -+ std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { -+ if (!stringStart || !length) return std::basic_string<UChar>(); -+- std::vector<uint16_t> buffer(length); -++ std::vector<UChar> buffer(length); -+ UChar* bufferStart = buffer.data(); -+ -+ UChar* bufferCurrent = bufferStart; -+@@ -395,7 +395,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { -+ reinterpret_cast<const char*>(stringStart + length), -+ &bufferCurrent, bufferCurrent + buffer.size(), nullptr, -+ true) != conversionOK) -+- return std::basic_string<uint16_t>(); -++ return std::basic_string<UChar>(); -+ size_t utf16Length = bufferCurrent - bufferStart; -+ return std::basic_string<UChar>(bufferStart, bufferStart + utf16Length); -+ } -+diff --git node/deps/v8/src/inspector/v8-string-conversions.h node/deps/v8/src/inspector/v8-string-conversions.h -+index eb33c6816a5..1126255dac2 100644 -+--- node/deps/v8/src/inspector/v8-string-conversions.h -++++ node/deps/v8/src/inspector/v8-string-conversions.h -+@@ -5,14 +5,16 @@ -+ #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ -+ #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ -+ -++#include <uchar.h> -++ -+ #include <cstdint> -+ #include <string> -+ -+ // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may -+ // want to use string-16.h directly rather than these. -+ namespace v8_inspector { -+-std::basic_string<uint16_t> UTF8ToUTF16(const char* stringStart, size_t length); -+-std::string UTF16ToUTF8(const uint16_t* stringStart, size_t length); -++std::basic_string<char16_t> UTF8ToUTF16(const char* stringStart, size_t length); -++std::string UTF16ToUTF8(const char16_t* stringStart, size_t length); -+ } // namespace v8_inspector -+ -+ #endif // V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ -+diff --git node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc -+index c9d89eaa42f..1a46d781b89 100644 -+--- node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc -++++ node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc -+@@ -11,13 +11,16 @@ -+ namespace v8_crdtp { -+ -+ std::string UTF16ToUTF8(span<uint16_t> in) { -+- return v8_inspector::UTF16ToUTF8(in.data(), in.size()); -++ return v8_inspector::UTF16ToUTF8(reinterpret_cast<const char16_t*>(in.data()), -++ in.size()); -+ } -+ -+ std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in) { -+- std::basic_string<uint16_t> utf16 = v8_inspector::UTF8ToUTF16( -++ std::basic_string<char16_t> utf16 = v8_inspector::UTF8ToUTF16( -+ reinterpret_cast<const char*>(in.data()), in.size()); -+- return std::vector<uint16_t>(utf16.begin(), utf16.end()); -++ return std::vector<uint16_t>( -++ reinterpret_cast<const uint16_t*>(utf16.data()), -++ reinterpret_cast<const uint16_t*>(utf16.data()) + utf16.size()); -+ } -+ -+ } // namespace v8_crdtp -+--- node/node.gypi.orig 2023-05-16 06:58:21 UTC -++++ node/node.gypi -+@@ -349,6 +349,9 @@ -+ [ 'node_use_openssl=="true"', { -+ 'defines': [ 'HAVE_OPENSSL=1' ], -+ 'conditions': [ -++ ['openssl_no_asm==1', { -++ 'defines': [ 'OPENSSL_NO_ASM' ], -++ }], -+ [ 'node_shared_openssl=="false"', { -+ 'defines': [ 'OPENSSL_API_COMPAT=0x10100000L', ], -+ 'dependencies': [ -+--- node/src/crypto/crypto_util.cc.orig 2023-05-16 06:58:21 UTC -++++ node/src/crypto/crypto_util.cc -+@@ -205,10 +205,12 @@ void InitCryptoOnce() { -+ // No-op with OPENSSL_NO_COMP builds of OpenSSL. -+ sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); -+ -++#if OPENSSL_VERSION_MAJOR < 3 -+ #ifndef OPENSSL_NO_ENGINE -+ ERR_load_ENGINE_strings(); -+ ENGINE_load_builtin_engines(); -+ #endif // !OPENSSL_NO_ENGINE -++#endif -+ } -+ -+ void GetFipsCrypto(const FunctionCallbackInfo<Value>& args) { -+--- node/src/cares_wrap.h.orig 2023-05-16 06:58:21 UTC -++++ node/src/cares_wrap.h -+@@ -23,7 +23,7 @@ -+ # include <netdb.h> -+ #endif // __POSIX__ -+ -+-# include <ares_nameser.h> -++# include <arpa/nameser.h> -+ -+ namespace node { -+ namespace cares_wrap { -+--- node/tools/v8_gypfiles/v8.gyp.orig 2023-05-16 06:58:22 UTC -++++ node/tools/v8_gypfiles/v8.gyp -+@@ -1091,7 +1091,7 @@ -+ }], -+ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library -+ # to implement atomic memory access -+- ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', { -++ ['v8_current_cpu in ["mips64", "mips64el", "ppc", "riscv64", "loong64"]', { -+ 'link_settings': { -+ 'libraries': ['-latomic', ], -+ }, -diff --git a/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch.orig b/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch.orig -new file mode 100644 -index 0000000..6b9de6d ---- /dev/null -+++ b/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch.orig -@@ -0,0 +1,602 @@ -+diff --git node/common.gypi node/common.gypi -+index d3c17d47bc..7970af6ea4 100644 -+--- node/common.gypi -++++ node/common.gypi -+@@ -184,7 +184,7 @@ -+ ['clang==1', { -+ 'lto': ' -flto ', # Clang -+ }, { -+- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC -++ 'lto': ' -flto=4 -ffat-lto-objects ', # GCC -+ }], -+ ], -+ }, -+diff --git node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -+index 5e7775f1a5..eeebf67796 100644 -+--- node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -++++ node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -+@@ -33,16 +33,6 @@ -+ -+ #include "nghttp3_macro.h" -+ -+-#if defined(_MSC_VER) && !defined(__clang__) && (defined(_M_ARM) || defined(_M_ARM64)) -+-unsigned int __popcnt(unsigned int x) { -+- unsigned int c = 0; -+- for (; x; ++c) { -+- x &= x - 1; -+- } -+- return c; -+-} -+-#endif -+- -+ int nghttp3_ringbuf_init(nghttp3_ringbuf *rb, size_t nmemb, size_t size, -+ const nghttp3_mem *mem) { -+ if (nmemb) { -+diff --git node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c -+index 74e488bce7..36ca05e80e 100644 -+--- node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c -++++ node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c -+@@ -31,16 +31,6 @@ -+ -+ #include "ngtcp2_macro.h" -+ -+-#if defined(_MSC_VER) && !defined(__clang__) && (defined(_M_ARM) || defined(_M_ARM64)) -+-unsigned int __popcnt(unsigned int x) { -+- unsigned int c = 0; -+- for (; x; ++c) { -+- x &= x - 1; -+- } -+- return c; -+-} -+-#endif -+- -+ int ngtcp2_ringbuf_init(ngtcp2_ringbuf *rb, size_t nmemb, size_t size, -+ const ngtcp2_mem *mem) { -+ uint8_t *buf = ngtcp2_mem_malloc(mem, nmemb * size); -+diff --git node/deps/v8/include/v8-initialization.h node/deps/v8/include/v8-initialization.h -+index d3e35d6ec5..6e9bbe3849 100644 -+--- node/deps/v8/include/v8-initialization.h -++++ node/deps/v8/include/v8-initialization.h -+@@ -89,6 +89,10 @@ class V8_EXPORT V8 { -+ static void SetFlagsFromCommandLine(int* argc, char** argv, -+ bool remove_flags); -+ -++ static void EnableCompilationForSourcelessUse(); -++ static void DisableCompilationForSourcelessUse(); -++ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script); -++ -+ /** Get the version string. */ -+ static const char* GetVersion(); -+ -+diff --git node/deps/v8/src/api/api.cc node/deps/v8/src/api/api.cc -+index a06394e6c1..154b7a82a8 100644 -+--- node/deps/v8/src/api/api.cc -++++ node/deps/v8/src/api/api.cc -+@@ -806,6 +806,28 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) { -+ HelpOptions(HelpOptions::kDontExit)); -+ } -+ -++bool save_lazy; -++bool save_predictable; -++ -++void V8::EnableCompilationForSourcelessUse() { -++ save_lazy = i::v8_flags.lazy; -++ i::v8_flags.lazy = false; -++ save_predictable = i::v8_flags.predictable; -++ i::v8_flags.predictable = true; -++} -++ -++void V8::DisableCompilationForSourcelessUse() { -++ i::v8_flags.lazy = save_lazy; -++ i::v8_flags.predictable = save_predictable; -++} -++ -++void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> unbound_script) { -++ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate); -++ auto function_info = i::Handle<i::SharedFunctionInfo>::cast(Utils::OpenHandle(*unbound_script)); -++ i::Handle<i::Script> script(i::Script::cast(function_info->script()), isolate); -++ script->set_source(i::ReadOnlyRoots(isolate).undefined_value()); -++} -++ -+ RegisteredExtension* RegisteredExtension::first_extension_ = nullptr; -+ -+ RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension) -+diff --git node/deps/v8/src/codegen/compiler.cc node/deps/v8/src/codegen/compiler.cc -+index 31c5acceeb..56cad8671f 100644 -+--- node/deps/v8/src/codegen/compiler.cc -++++ node/deps/v8/src/codegen/compiler.cc -+@@ -3475,7 +3475,7 @@ MaybeHandle<SharedFunctionInfo> GetSharedFunctionInfoForScriptImpl( -+ maybe_script = lookup_result.script(); -+ maybe_result = lookup_result.toplevel_sfi(); -+ is_compiled_scope = lookup_result.is_compiled_scope(); -+- if (!maybe_result.is_null()) { -++ if (!maybe_result.is_null() && source->length()) { -+ compile_timer.set_hit_isolate_cache(); -+ } else if (can_consume_code_cache) { -+ compile_timer.set_consuming_code_cache(); -+diff --git node/deps/v8/src/objects/js-function.cc node/deps/v8/src/objects/js-function.cc -+index 94f7a672a7..57bb3fc7f1 100644 -+--- node/deps/v8/src/objects/js-function.cc -++++ node/deps/v8/src/objects/js-function.cc -+@@ -1280,6 +1280,9 @@ Handle<String> JSFunction::ToString(Handle<JSFunction> function) { -+ Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty( -+ isolate, function, isolate->factory()->class_positions_symbol()); -+ if (maybe_class_positions->IsClassPositions()) { -++ if (String::cast(Script::cast(shared_info->script()).source()).IsUndefined(isolate)) { -++ return isolate->factory()->NewStringFromAsciiChecked("class {}"); -++ } -+ ClassPositions class_positions = -+ ClassPositions::cast(*maybe_class_positions); -+ int start_position = class_positions.start(); -+diff --git node/deps/v8/src/objects/shared-function-info-inl.h node/deps/v8/src/objects/shared-function-info-inl.h -+index 5621b15d98..722e1d18cb 100644 -+--- node/deps/v8/src/objects/shared-function-info-inl.h -++++ node/deps/v8/src/objects/shared-function-info-inl.h -+@@ -635,6 +635,14 @@ bool SharedFunctionInfo::ShouldFlushCode( -+ } -+ if (!data.IsBytecodeArray()) return false; -+ -++ Object script_obj = script(); -++ if (!script_obj.IsUndefined()) { -++ Script script = Script::cast(script_obj); -++ if (script.source().IsUndefined()) { -++ return false; -++ } -++ } -++ -+ if (IsStressFlushingEnabled(code_flush_mode)) return true; -+ -+ BytecodeArray bytecode = BytecodeArray::cast(data); -+diff --git node/deps/v8/src/parsing/parsing.cc node/deps/v8/src/parsing/parsing.cc -+index 8c55a6fb6e..70bf82a57d 100644 -+--- node/deps/v8/src/parsing/parsing.cc -++++ node/deps/v8/src/parsing/parsing.cc -+@@ -42,6 +42,7 @@ bool ParseProgram(ParseInfo* info, Handle<Script> script, -+ Isolate* isolate, ReportStatisticsMode mode) { -+ DCHECK(info->flags().is_toplevel()); -+ DCHECK_NULL(info->literal()); -++ if (String::cast(script->source()).IsUndefined(isolate)) return false; -+ -+ VMState<PARSER> state(isolate); -+ -+@@ -75,6 +76,7 @@ bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info, -+ -+ // Create a character stream for the parser. -+ Handle<Script> script(Script::cast(shared_info->script()), isolate); -++ if (String::cast(script->source()).IsUndefined(isolate)) return false; -+ Handle<String> source(String::cast(script->source()), isolate); -+ std::unique_ptr<Utf16CharacterStream> stream( -+ ScannerStream::For(isolate, source, shared_info->StartPosition(), -+diff --git node/deps/v8/src/snapshot/code-serializer.cc node/deps/v8/src/snapshot/code-serializer.cc -+index c83e8e4581..8cb451e147 100644 -+--- node/deps/v8/src/snapshot/code-serializer.cc -++++ node/deps/v8/src/snapshot/code-serializer.cc -+@@ -659,10 +659,6 @@ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheck( -+ -+ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheckJustSource( -+ uint32_t expected_source_hash) const { -+- uint32_t source_hash = GetHeaderValue(kSourceHashOffset); -+- if (source_hash != expected_source_hash) { -+- return SerializedCodeSanityCheckResult::kSourceMismatch; -+- } -+ return SerializedCodeSanityCheckResult::kSuccess; -+ } -+ -+@@ -679,10 +675,6 @@ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheckWithoutSource() -+ if (version_hash != Version::Hash()) { -+ return SerializedCodeSanityCheckResult::kVersionMismatch; -+ } -+- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset); -+- if (flags_hash != FlagList::Hash()) { -+- return SerializedCodeSanityCheckResult::kFlagsMismatch; -+- } -+ uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset); -+ uint32_t max_payload_length = this->size_ - kHeaderSize; -+ if (payload_length > max_payload_length) { -+diff --git node/lib/child_process.js node/lib/child_process.js -+index cc81cb373d..e06da1048a 100644 -+--- node/lib/child_process.js -++++ node/lib/child_process.js -+@@ -169,7 +169,7 @@ function fork(modulePath, args = [], options) { -+ throw new ERR_CHILD_PROCESS_IPC_REQUIRED('options.stdio'); -+ } -+ -+- return spawn(options.execPath, args, options); -++ return module.exports.spawn(options.execPath, args, options); -+ } -+ -+ function _forkChild(fd, serializationMode) { -+diff --git node/lib/internal/bootstrap/pkg.js node/lib/internal/bootstrap/pkg.js -+new file mode 100644 -+index 0000000000..a697294fdf -+--- /dev/null -++++ node/lib/internal/bootstrap/pkg.js -+@@ -0,0 +1,49 @@ -++'use strict'; -++ -++const { -++ prepareWorkerThreadExecution, -++ prepareMainThreadExecution -++} = require('internal/process/pre_execution'); -++ -++if (internalBinding('worker').isMainThread) { -++ prepareMainThreadExecution(true); -++} else { -++ prepareWorkerThreadExecution(); -++} -++ -++(function () { -++ var __require__ = require; -++ var fs = __require__('fs'); -++ var vm = __require__('vm'); -++ function readPrelude (fd) { -++ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0; -++ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0; -++ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0; -++ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0; -++ if (!PRELUDE_POSITION) { -++ // no prelude - remove entrypoint from argv[1] -++ process.argv.splice(1, 1); -++ return { undoPatch: true }; -++ } -++ var prelude = Buffer.alloc(PRELUDE_SIZE); -++ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION); -++ if (read !== PRELUDE_SIZE) { -++ console.error('Pkg: Error reading from file.'); -++ process.exit(1); -++ } -++ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' }); -++ var fn = s.runInThisContext(); -++ return fn(process, __require__, -++ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE); -++ } -++ (function () { -++ var fd = fs.openSync(process.execPath, 'r'); -++ var result = readPrelude(fd); -++ if (result && result.undoPatch) { -++ var bindingFs = process.binding('fs'); -++ fs.internalModuleStat = bindingFs.internalModuleStat; -++ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON; -++ fs.closeSync(fd); -++ } -++ }()); -++}()); -+diff --git node/lib/internal/modules/cjs/loader.js node/lib/internal/modules/cjs/loader.js -+index ebccdb2825..178299c752 100644 -+--- node/lib/internal/modules/cjs/loader.js -++++ node/lib/internal/modules/cjs/loader.js -+@@ -141,7 +141,7 @@ const { -+ const assert = require('internal/assert'); -+ const fs = require('fs'); -+ const path = require('path'); -+-const { internalModuleStat } = internalBinding('fs'); -++const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); } -+ const { safeGetenv } = internalBinding('credentials'); -+ const { -+ privateSymbols: { -+diff --git node/lib/internal/modules/package_json_reader.js node/lib/internal/modules/package_json_reader.js -+index 88c079d10d..a7eaca0574 100644 -+--- node/lib/internal/modules/package_json_reader.js -++++ node/lib/internal/modules/package_json_reader.js -+@@ -12,7 +12,7 @@ const { -+ const { -+ ERR_INVALID_PACKAGE_CONFIG, -+ } = require('internal/errors').codes; -+-const { internalModuleReadJSON } = internalBinding('fs'); -++const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); } -+ const { resolve, sep, toNamespacedPath } = require('path'); -+ const permission = require('internal/process/permission'); -+ const { kEmptyObject } = require('internal/util'); -+diff --git node/lib/internal/process/pre_execution.js node/lib/internal/process/pre_execution.js -+index 0bbabb80c2..5dd097b69e 100644 -+--- node/lib/internal/process/pre_execution.js -++++ node/lib/internal/process/pre_execution.js -+@@ -50,7 +50,11 @@ const { -+ }, -+ } = require('internal/v8/startup_snapshot'); -+ -++let _alreadyPrepared = false; -++ -+ function prepareMainThreadExecution(expandArgv1 = false, initializeModules = true) { -++ if (_alreadyPrepared === true) return; -++ _alreadyPrepared = true; -+ return prepareExecution({ -+ expandArgv1, -+ initializeModules, -+@@ -243,7 +247,12 @@ function patchProcessObject(expandArgv1) { -+ let mainEntry; -+ // If requested, update process.argv[1] to replace whatever the user provided with the resolved absolute file path of -+ // the entry point. -+- if (expandArgv1 && process.argv[1] && process.argv[1][0] !== '-') { -++ if ( -++ expandArgv1 && -++ process.argv[1] && -++ process.argv[1][0] !== '-' && -++ process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT' -++ ) { -+ // Expand process.argv[1] into a full path. -+ const path = require('path'); -+ try { -+@@ -739,6 +748,7 @@ function loadPreloadModules() { -+ // For user code, we preload modules if `-r` is passed -+ const preloadModules = getOptionValue('--require'); -+ if (preloadModules && preloadModules.length > 0) { -++ assert(false, '--require is not supported'); -+ const { -+ Module: { -+ _preloadModules, -+diff --git node/lib/vm.js node/lib/vm.js -+index a12e932d8d..931a996330 100644 -+--- node/lib/vm.js -++++ node/lib/vm.js -+@@ -98,6 +98,7 @@ class Script extends ContextifyScript { -+ produceCachedData = false, -+ importModuleDynamically, -+ [kParsingContext]: parsingContext, -++ sourceless = false, -+ } = options; -+ -+ validateString(filename, 'options.filename'); -+@@ -121,7 +122,8 @@ class Script extends ContextifyScript { -+ cachedData, -+ produceCachedData, -+ parsingContext, -+- hostDefinedOptionId); -++ hostDefinedOptionId, -++ sourceless); -+ } catch (e) { -+ throw e; /* node-do-not-add-exception-line */ -+ } -+diff --git node/src/inspector_agent.cc node/src/inspector_agent.cc -+index bb39a0cb42..5fa6cb65cc 100644 -+--- node/src/inspector_agent.cc -++++ node/src/inspector_agent.cc -+@@ -766,11 +766,6 @@ bool Agent::Start(const std::string& path, -+ StartIoThreadAsyncCallback)); -+ uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async)); -+ start_io_thread_async.data = this; -+- if (parent_env_->should_start_debug_signal_handler()) { -+- // Ignore failure, SIGUSR1 won't work, but that should not block node -+- // start. -+- StartDebugSignalHandler(); -+- } -+ -+ parent_env_->AddCleanupHook([](void* data) { -+ Environment* env = static_cast<Environment*>(data); -+diff --git node/src/node.cc node/src/node.cc -+index 4ad2c8b804..ab6174fab6 100644 -+--- node/src/node.cc -++++ node/src/node.cc -+@@ -389,6 +389,8 @@ MaybeLocal<Value> StartExecution(Environment* env, StartExecutionCallback cb) { -+ return env->RunSnapshotDeserializeMain(); -+ } -+ -++ StartExecution(env, "internal/bootstrap/pkg"); -++ -+ if (env->worker_context() != nullptr) { -+ return StartExecution(env, "internal/main/worker_thread"); -+ } -+@@ -613,14 +615,6 @@ static void PlatformInit(ProcessInitializationFlags::Flags flags) { -+ } -+ -+ if (!(flags & ProcessInitializationFlags::kNoDefaultSignalHandling)) { -+-#if HAVE_INSPECTOR -+- sigset_t sigmask; -+- sigemptyset(&sigmask); -+- sigaddset(&sigmask, SIGUSR1); -+- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr); -+- CHECK_EQ(err, 0); -+-#endif // HAVE_INSPECTOR -+- -+ ResetSignalHandlers(); -+ } -+ -+diff --git node/src/node_contextify.cc node/src/node_contextify.cc -+index 7f82bca746..62705f04c5 100644 -+--- node/src/node_contextify.cc -++++ node/src/node_contextify.cc -+@@ -79,6 +79,7 @@ using v8::String; -+ using v8::Symbol; -+ using v8::Uint32; -+ using v8::UnboundScript; -++using v8::V8; -+ using v8::Value; -+ using v8::WeakCallbackInfo; -+ -+@@ -817,13 +818,14 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ Local<ArrayBufferView> cached_data_buf; -+ bool produce_cached_data = false; -+ Local<Context> parsing_context = context; -++ bool sourceless = false; -+ -+ Local<Symbol> id_symbol; -+ if (argc > 2) { -+ // new ContextifyScript(code, filename, lineOffset, columnOffset, -+ // cachedData, produceCachedData, parsingContext, -+- // hostDefinedOptionId) -+- CHECK_EQ(argc, 8); -++ // hostDefinedOptionId, sourceless) -++ CHECK_GE(argc, 8); -+ CHECK(args[2]->IsNumber()); -+ line_offset = args[2].As<Int32>()->Value(); -+ CHECK(args[3]->IsNumber()); -+@@ -844,6 +846,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ } -+ CHECK(args[7]->IsSymbol()); -+ id_symbol = args[7].As<Symbol>(); -++ if (argc > 8) { -++ CHECK(args[8]->IsBoolean()); -++ sourceless = args[8]->IsTrue(); -++ } -+ } -+ -+ ContextifyScript* contextify_script = -+@@ -892,6 +898,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ ShouldNotAbortOnUncaughtScope no_abort_scope(env); -+ Context::Scope scope(parsing_context); -+ -++ if (sourceless && produce_cached_data) { -++ V8::EnableCompilationForSourcelessUse(); -++ } -++ -+ MaybeLocal<UnboundScript> maybe_v8_script = -+ ScriptCompiler::CompileUnboundScript(isolate, &source, compile_options); -+ -+@@ -906,6 +916,11 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ return; -+ } -+ -++ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) { -++ if (!source.GetCachedData()->rejected) { -++ V8::FixSourcelessScript(env->isolate(), v8_script); -++ } -++ } -+ contextify_script->script_.Reset(isolate, v8_script); -+ contextify_script->script_.SetWeak(); -+ contextify_script->object()->SetInternalFieldForNodeCore(kUnboundScriptSlot, -+@@ -939,6 +954,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ .IsNothing()) -+ return; -+ -++ if (sourceless && produce_cached_data) { -++ V8::DisableCompilationForSourcelessUse(); -++ } -++ -+ TRACE_EVENT_END0(TRACING_CATEGORY_NODE2(vm, script), "ContextifyScript::New"); -+ } -+ -+diff --git node/src/node_main.cc node/src/node_main.cc -+index f66099a557..4048f6bd93 100644 -+--- node/src/node_main.cc -++++ node/src/node_main.cc -+@@ -22,6 +22,8 @@ -+ #include "node.h" -+ #include <cstdio> -+ -++int reorder(int argc, char** argv); -++ -+ #ifdef _WIN32 -+ #include <windows.h> -+ #include <VersionHelpers.h> -+@@ -88,12 +90,95 @@ int wmain(int argc, wchar_t* wargv[]) { -+ } -+ argv[argc] = nullptr; -+ // Now that conversion is done, we can finally start. -+- return node::Start(argc, argv); -++ return reorder(argc, argv); -+ } -+ #else -+ // UNIX -+ -+ int main(int argc, char* argv[]) { -++ return reorder(argc, argv); -++} -++#endif -++ -++#include <string.h> -++ -++int strlen2 (char* s) { -++ int len = 0; -++ while (*s) { -++ len += 1; -++ s += 1; -++ } -++ return len; -++} -++ -++bool should_set_dummy() { -++#ifdef _WIN32 -++ #define MAX_ENV_LENGTH 32767 -++ wchar_t execpath_env[MAX_ENV_LENGTH]; -++ DWORD result = GetEnvironmentVariableW(L"PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH); -++ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true; -++ return wcscmp(execpath_env, L"PKG_INVOKE_NODEJS") != 0; -++#else -++ const char* execpath_env = getenv("PKG_EXECPATH"); -++ if (!execpath_env) return true; -++ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0; -++#endif -++} -++ -++// for uv_setup_args -++int adjacent(int argc, char** argv) { -++ size_t size = 0; -++ for (int i = 0; i < argc; i++) { -++ size += strlen(argv[i]) + 1; -++ } -++ char* args = new char[size]; -++ size_t pos = 0; -++ for (int i = 0; i < argc; i++) { -++ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1); -++ argv[i] = &args[pos]; -++ pos += strlen(argv[i]) + 1; -++ } -+ return node::Start(argc, argv); -+ } -++ -++volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \ -++ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \ -++ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \ -++ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY "; -++ -++#ifdef __clang__ -++__attribute__((optnone)) -++#elif defined(__GNUC__) -++__attribute__((optimize(0))) -+ #endif -++ -++int load_baked(char** nargv) { -++ int c = 1; -++ -++ char* bakery = (char*) BAKERY; -++ while (true) { -++ size_t width = strlen2(bakery); -++ if (width == 0) break; -++ nargv[c++] = bakery; -++ bakery += width + 1; -++ } -++ -++ return c; -++} -++ -++int reorder(int argc, char** argv) { -++ char** nargv = new char*[argc + 64]; -++ -++ nargv[0] = argv[0]; -++ int c = load_baked(nargv); -++ -++ if (should_set_dummy()) { -++ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT"; -++ } -++ -++ for (int i = 1; i < argc; i++) { -++ nargv[c++] = argv[i]; -++ } -++ -++ return adjacent(c, nargv); -++} -+diff --git node/src/node_options.cc node/src/node_options.cc -+index 9d5accc3eb..8e3c304a13 100644 -+--- node/src/node_options.cc -++++ node/src/node_options.cc -+@@ -316,6 +316,7 @@ void Parse( -+ // TODO(addaleax): Make that unnecessary. -+ -+ DebugOptionsParser::DebugOptionsParser() { -++ return; -+ #ifndef DISABLE_SINGLE_EXECUTABLE_APPLICATION -+ if (sea::IsSingleExecutable()) return; -+ #endif -+diff --git node/tools/icu/icu-generic.gyp node/tools/icu/icu-generic.gyp -+index 2655b9e694..1d951571c7 100644 -+--- node/tools/icu/icu-generic.gyp -++++ node/tools/icu/icu-generic.gyp -+@@ -52,7 +52,7 @@ -+ 'conditions': [ -+ [ 'os_posix == 1 and OS != "mac" and OS != "ios"', { -+ 'cflags': [ '-Wno-deprecated-declarations', '-Wno-strict-aliasing' ], -+- 'cflags_cc': [ '-frtti' ], -++ 'cflags_cc': [ '-frtti', '-fno-lto' ], -+ 'cflags_cc!': [ '-fno-rtti' ], -+ }], -+ [ 'OS == "mac" or OS == "ios"', { diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch new file mode 100644 index 000000000000..0940e6667edd --- /dev/null +++ b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch @@ -0,0 +1,192 @@ +https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.24/patches/node.v20.19.4.cpp.patch ++ local FreeBSD patches + +--- yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.4.cpp.patch ++++ yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.4.cpp.patch +@@ -600,3 +600,186 @@ index 2655b9e694..1d951571c7 100644 + 'cflags_cc!': [ '-fno-rtti' ], + }], + [ 'OS == "mac" or OS == "ios"', { ++--- node/common.gypi.orig 2023-07-20 18:27:37 UTC +++++ node/common.gypi ++@@ -426,7 +426,7 @@ ++ 'ldflags': [ '-m32' ], ++ }], ++ [ 'host_arch=="ppc64" and OS not in "aix os400"', { ++- 'cflags': [ '-m64', '-mminimal-toc' ], +++ 'cflags': [ '-m64' ], ++ 'ldflags': [ '-m64' ], ++ }], ++ [ 'host_arch=="s390x" and OS=="linux"', { ++@@ -450,7 +450,7 @@ ++ 'ldflags': [ '-m32' ], ++ }], ++ [ 'target_arch=="ppc64" and OS not in "aix os400"', { ++- 'cflags': [ '-m64', '-mminimal-toc' ], +++ 'cflags': [ '-m64' ], ++ 'ldflags': [ '-m64' ], ++ }], ++ [ 'target_arch=="s390x" and OS=="linux"', { ++--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2023-05-16 06:58:19 UTC +++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi ++@@ -13,7 +13,7 @@ ++ '-Wall -O3 -fomit-frame-pointer', ++ ], ++ 'openssl_ex_libs_linux-elf': [ ++- '-ldl -pthread', +++ '-pthread', ++ ], ++ 'openssl_cli_srcs_linux-elf': [ ++ 'openssl/apps/lib/cmp_mock_srv.c', ++--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2023-05-16 06:58:19 UTC +++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi ++@@ -977,7 +977,7 @@ ++ '-Wall -O3 -fomit-frame-pointer', ++ ], ++ 'openssl_ex_libs_linux-elf': [ ++- '-ldl -pthread', +++ '-pthread', ++ ], ++ }, ++ 'include_dirs': [ ++--- node/deps/openssl/openssl-cl_no_asm.gypi.orig 2023-11-22 10:13:54 UTC +++++ node/deps/openssl/openssl-cl_no_asm.gypi ++@@ -1,4 +1,5 @@ ++ { +++ 'defines': ['OPENSSL_NO_ASM'], ++ 'conditions': [ ++ ['target_arch=="ppc64" and OS in ("aix", "os400")', { ++ 'includes': ['config/archs/aix64-gcc-as/no-asm/openssl-cl.gypi'], ++@@ -45,7 +46,7 @@ ++ 'includes': ['config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi'], ++ }, { ++ # Other architectures don't use assembly ++- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], +++ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'], ++ }], ++ ], ++ } ++--- node/deps/openssl/openssl_no_asm.gypi.orig 2023-05-16 06:58:20 UTC +++++ node/deps/openssl/openssl_no_asm.gypi ++@@ -44,7 +44,7 @@ ++ 'includes': ['config/archs/linux64-riscv64/no-asm/openssl.gypi'], ++ }, { ++ # Other architectures don't use assembly ++- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], +++ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'], ++ }], ++ ], ++ } ++--- node/deps/v8/src/base/platform/platform-freebsd.cc.orig 2023-05-16 06:58:20 UTC +++++ node/deps/v8/src/base/platform/platform-freebsd.cc ++@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib ++ lib_name = std::string(path); ++ } ++ result.push_back(SharedLibraryAddress( ++- lib_name, reinterpret_cast<uintptr_t>(map->kve_start), ++- reinterpret_cast<uintptr_t>(map->kve_end))); +++ lib_name, static_cast<uintptr_t>(map->kve_start), +++ static_cast<uintptr_t>(map->kve_end))); ++ } ++ ++ start += ssize; ++--- node/deps/v8/src/codegen/arm/cpu-arm.cc.orig 2023-05-16 06:58:20 UTC +++++ node/deps/v8/src/codegen/arm/cpu-arm.cc ++@@ -2,12 +2,15 @@ ++ // Use of this source code is governed by a BSD-style license that can be ++ // found in the LICENSE file. ++ +++#include "include/v8config.h" +++ ++ // CPU specific code for arm independent of OS goes here. ++ #ifdef __arm__ ++ #ifdef __QNXNTO__ ++ #include <sys/mman.h> // for cache flushing. ++ #undef MAP_TYPE ++ #elif V8_OS_FREEBSD +++#include <sys/cdefs.h> ++ #include <machine/sysarch.h> // for cache flushing ++ #include <sys/types.h> ++ #elif V8_OS_STARBOARD ++--- node/deps/v8/src/codegen/ppc/constants-ppc.h.orig 2023-05-16 06:58:20 UTC +++++ node/deps/v8/src/codegen/ppc/constants-ppc.h ++@@ -36,7 +36,7 @@ ++ #endif ++ ++ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || !V8_TARGET_ARCH_PPC64 || \ ++- V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2) +++ (defined(_CALL_ELF) && _CALL_ELF == 2) ++ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 ++ #else ++ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 ++@@ -44,7 +44,7 @@ ++ ++ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || \ ++ (V8_TARGET_ARCH_PPC64 && \ ++- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) +++ (defined(_CALL_ELF) && _CALL_ELF == 2)) ++ #define ABI_CALL_VIA_IP 1 ++ #else ++ #define ABI_CALL_VIA_IP 0 ++--- node/deps/v8/src/libsampler/sampler.cc.orig 2023-05-16 06:58:20 UTC +++++ node/deps/v8/src/libsampler/sampler.cc ++@@ -511,6 +511,10 @@ void SignalHandler::FillRegisterState(void* context, R ++ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]); ++ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]); ++ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]); +++#elif V8_TARGET_ARCH_PPC64 +++ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0); +++ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]); +++ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]); ++ #endif // V8_HOST_ARCH_* ++ #elif V8_OS_NETBSD ++ #if V8_HOST_ARCH_IA32 ++--- node.gypi.orig 2023-05-16 06:58:21 UTC +++++ node.gypi ++@@ -349,6 +349,9 @@ ++ [ 'node_use_openssl=="true"', { ++ 'defines': [ 'HAVE_OPENSSL=1' ], ++ 'conditions': [ +++ ['openssl_no_asm==1', { +++ 'defines': [ 'OPENSSL_NO_ASM' ], +++ }], ++ [ 'node_shared_openssl=="false"', { ++ 'defines': [ 'OPENSSL_API_COMPAT=0x10100000L', ], ++ 'dependencies': [ ++--- node/src/crypto/crypto_util.cc.orig 2023-05-16 06:58:21 UTC +++++ node/src/crypto/crypto_util.cc ++@@ -205,10 +205,12 @@ void InitCryptoOnce() { ++ // No-op with OPENSSL_NO_COMP builds of OpenSSL. ++ sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); ++ +++#if OPENSSL_VERSION_MAJOR < 3 ++ #ifndef OPENSSL_NO_ENGINE ++ ERR_load_ENGINE_strings(); ++ ENGINE_load_builtin_engines(); ++ #endif // !OPENSSL_NO_ENGINE +++#endif ++ } ++ ++ void GetFipsCrypto(const FunctionCallbackInfo<Value>& args) { ++--- node/src/cares_wrap.h.orig 2023-05-16 06:58:21 UTC +++++ node/src/cares_wrap.h ++@@ -23,7 +23,7 @@ ++ # include <netdb.h> ++ #endif // __POSIX__ ++ ++-# include <ares_nameser.h> +++# include <arpa/nameser.h> ++ ++ namespace node { ++ namespace cares_wrap { ++--- node/tools/v8_gypfiles/v8.gyp.orig 2023-05-16 06:58:22 UTC +++++ node/tools/v8_gypfiles/v8.gyp ++@@ -1091,7 +1091,7 @@ ++ }], ++ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library ++ # to implement atomic memory access ++- ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', { +++ ['v8_current_cpu in ["mips64", "mips64el", "ppc", "riscv64", "loong64"]', { ++ 'link_settings': { ++ 'libraries': ['-latomic', ], ++ }, diff --git a/www/onlyoffice-documentserver/files/package-lock.json b/www/onlyoffice-documentserver/files/package-lock.json index 3894802eb620..59035f286384 100644 --- a/www/onlyoffice-documentserver/files/package-lock.json +++ b/www/onlyoffice-documentserver/files/package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "dependencies": { - "@yao-pkg/pkg": "^6.5.1" + "@yao-pkg/pkg": "^6.6.0" } }, "node_modules/@babel/generator": { @@ -118,15 +118,15 @@ } }, "node_modules/@yao-pkg/pkg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.5.1.tgz", - "integrity": "sha512-z6XlySYfnqfm1AfVlBN8A3yeAQniIwL7TKQfDCGsswYSVYLt2snbRefQYsfQQ3pw5lVXrZdLqgTjzaqID9IkWA==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.6.0.tgz", + "integrity": "sha512-3/oiaSm7fS0Fc7dzp22r9B7vFaguGhO9vERgEReRYj2EUzdi5ssyYhe1uYJG4ec/dmo2GG6RRHOUAT8savl79Q==", "license": "MIT", "dependencies": { "@babel/generator": "^7.23.0", "@babel/parser": "^7.23.0", "@babel/types": "^7.23.0", - "@yao-pkg/pkg-fetch": "3.5.23", + "@yao-pkg/pkg-fetch": "3.5.24", "into-stream": "^6.0.0", "minimist": "^1.2.6", "multistream": "^4.1.0", @@ -147,9 +147,9 @@ } }, "node_modules/@yao-pkg/pkg-fetch": { - "version": "3.5.23", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.23.tgz", - "integrity": "sha512-rn45sqVQSkcJNSBdTnYze3n+kyub4CN8aiWYlPgA9yp9FZeEF+BlpL68kSIm3HaVuANniF+7RBMH5DkC4zlHZA==", + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.24.tgz", + "integrity": "sha512-FPESCH1uXCYui6jeDp2aayWuFHR39w+uU1r88nI6JWRvPYOU64cHPUV/p6GSFoQdpna7ip92HnrZKbBC60l0gA==", "license": "MIT", "dependencies": { "https-proxy-agent": "^5.0.0", diff --git a/www/onlyoffice-documentserver/files/package.json b/www/onlyoffice-documentserver/files/package.json index 942f29ed7251..9251e320859a 100644 --- a/www/onlyoffice-documentserver/files/package.json +++ b/www/onlyoffice-documentserver/files/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "@yao-pkg/pkg": "^6.5.1" + "@yao-pkg/pkg": "^6.6.0" } } diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py index df8c9dc3c87b..f7392a57031b 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py @@ -5,7 +5,7 @@ old_cur_dir = os.getcwd() - print("[fetch]: html") -+ print("[path & build]: html") ++ print("[patch & build]: html") base_dir = base.get_script_dir() + "/../../core/Common/3dParty/html" diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx index 2ba2e7398244..0d72b10783f3 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx @@ -1,6 +1,6 @@ ---- core/Apple/StringDocumentHandler.hxx.orig 2025-03-08 17:38:58.104116000 +0100 -+++ core/Apple/StringDocumentHandler.hxx 2025-03-08 16:45:03.144938000 +0100 -@@ -0,0 +1,51 @@ +--- core/Apple/StringDocumentHandler.hxx.orig 2025-07-21 00:30:34.163412000 +0000 ++++ core/Apple/StringDocumentHandler.hxx 2025-07-21 03:02:42.802399000 +0000 +@@ -0,0 +1,154 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* writerperfect + * Version: MPL 2.0 / LGPLv2.1+ @@ -52,3 +52,106 @@ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* writerperfect ++ * Version: MPL 2.0 / LGPLv2.1+ ++ * ++ * This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ * ++ * Major Contributor(s): ++ * Copyright (C) 2002-2004 William Lachance (wrlach@gmail.com) ++ * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch) ++ * ++ * For minor contributions see the git repository. ++ * ++ * Alternatively, the contents of this file may be used under the terms ++ * of the GNU Lesser General Public License Version 2.1 or later ++ * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are ++ * applicable instead of those above. ++ * ++ * For further information visit http://libwpd.sourceforge.net ++ */ ++ ++#include <string.h> ++ ++ ++StringDocumentHandler::StringDocumentHandler() : m_data(""), m_isTagOpened(false), m_openedTagName("") ++{ ++ m_data.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); ++} ++ ++void StringDocumentHandler::endDocument() ++{ ++ if (!m_isTagOpened) return; ++ m_data.append(">"); ++ m_isTagOpened = false; ++} ++ ++void StringDocumentHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList) ++{ ++ if (m_isTagOpened) ++ { ++ m_data.append(">"); ++ m_isTagOpened = false; ++ } ++ m_data.append("<"); ++ m_data.append(psName); ++ librevenge::RVNGPropertyList::Iter i(xPropList); ++ for (i.rewind(); i.next();) ++ { ++ // filter out librevenge elements ++ if (!strncmp(i.key(), "librevenge:", 11)) continue; ++ ++ m_data.append(" "); ++ m_data.append(i.key()); ++ m_data.append("=\""); ++ if (i()->getStr().len()>0) ++ m_data.append(i()->getStr().cstr()); ++ m_data.append("\""); ++ } ++ m_isTagOpened = true; ++ m_openedTagName.sprintf("%s", psName); ++} ++void StringDocumentHandler::endElement(const char *psName) ++{ ++ if (m_isTagOpened) ++ { ++ if (m_openedTagName == psName) ++ { ++ m_data.append("/>"); ++ m_isTagOpened = false; ++ } ++ else // should not happen, but handle it ++ { ++ m_data.append(">"); ++ m_data.append("</"); ++ m_data.append(psName); ++ m_data.append(">"); ++ m_isTagOpened = false; ++ } ++ } ++ else ++ { ++ m_data.append("</"); ++ m_data.append(psName); ++ m_data.append(">"); ++ m_isTagOpened = false; ++ } ++} ++ ++void StringDocumentHandler::characters(const librevenge::RVNGString &sCharacters) ++{ ++ if (m_isTagOpened) ++ { ++ m_data.append(">"); ++ m_isTagOpened = false; ++ } ++ librevenge::RVNGString sEscapedCharacters; ++ sEscapedCharacters.appendEscapedXML(sCharacters); ++ if (sEscapedCharacters.len() > 0) ++ m_data.append(sEscapedCharacters.cstr()); ++} ++ ++/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py index 6cc05be7d649..bc0ee48515bc 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py @@ -14,9 +14,10 @@ # fix gumbo base.replaceInFile(base_directory + "/gumbo-parser/src/tag.c", "isspace(*c)", "isspace((unsigned char)*c)") - if not base.is_dir("katana-parser"): +-if not base.is_dir("katana-parser"): - base.cmd("git", ["clone", "https://github.com/jasenhuang/katana-parser.git"]) - base.cmd_in_dir("katana-parser", "git", ["checkout", "be6df458d4540eee375c513958dcb862a391cdd1"]) ++if base.is_dir("katana-parser"): +# base.cmd("git", ["clone", "https://github.com/jasenhuang/katana-parser.git"]) +# base.cmd_in_dir("katana-parser", "git", ["checkout", "be6df458d4540eee375c513958dcb862a391cdd1"]) diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4 b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4 index 231a6247a51a..6d40dfa72b4c 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4 +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4 @@ -46,7 +46,8 @@ +LOCAL_CONF=%%LOCALBASE%%/etc/M4_DS_PREFIX/local.json +JSON="%%LOCALBASE%%/www/M4_DS_PREFIX/npm/json -q -f ${LOCAL_CONF}" - SECURE_LINK_SECRET=${SECURE_LINK_SECRET:-$(tr -dc A-Za-z0-9 </dev/urandom | head -c 20)} +-SECURE_LINK_SECRET=${SECURE_LINK_SECRET:-$(tr -dc A-Za-z0-9 </dev/urandom | head -c 20)} ++SECURE_LINK_SECRET=${SECURE_LINK_SECRET:-$(pwgen -s 20)} -sed "s,\(set \+\$secure_link_secret\).*,\1 "${SECURE_LINK_SECRET}";," -i ${NGINX_CONF} -${JSON} -I -e 'this.storage={fs: {secretString: "'${SECURE_LINK_SECRET}'" }}' && chown ds:ds $LOCAL_CONF diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf index c8a9eedfa80e..6386c904077e 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf @@ -1,8 +1,9 @@ https://raw.githubusercontent.com/nginx/nginx/master/conf/mime.types ++ IWork filetypes --- document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf.orig 2022-05-15 11:09:53.906141000 +0200 +++ document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf 2022-05-15 11:10:02.802873000 +0200 -@@ -0,0 +1,99 @@ +@@ -0,0 +1,102 @@ + +types { + text/html html htm shtml; @@ -40,6 +41,9 @@ https://raw.githubusercontent.com/nginx/nginx/master/conf/mime.types + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; ++ application/vnd.apple.keynote key kth; ++ application/vnd.apple.pages pages template; ++ application/vnd.apple.numbers numbers nmbtemplate; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; diff --git a/www/onlyoffice-documentserver/pkg-plist b/www/onlyoffice-documentserver/pkg-plist index 8c1f22b765b3..4c96e63cd9f7 100644 --- a/www/onlyoffice-documentserver/pkg-plist +++ b/www/onlyoffice-documentserver/pkg-plist @@ -1156,7 +1156,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/ja-JA.json %%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/pt-BR.json %%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/ru-RU.json -%%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/zh-ZH.json +%%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/zh-CN.json %%WWWDIR%%/documentserver/sdkjs/pdf/src/engine/cmap.bin %%WWWDIR%%/documentserver/sdkjs/pdf/src/engine/drawingfile.js %%WWWDIR%%/documentserver/sdkjs/pdf/src/engine/drawingfile.wasm diff --git a/www/pecl-yaf/files/patch-php85 b/www/pecl-yaf/files/patch-php85 new file mode 100644 index 000000000000..1d35ad034c24 --- /dev/null +++ b/www/pecl-yaf/files/patch-php85 @@ -0,0 +1,11 @@ +--- yaf_exception.c.orig 2024-06-25 03:13:57 UTC ++++ yaf_exception.c +@@ -73,7 +73,7 @@ zend_class_entry * yaf_get_exception_base(int root) /* + } + #endif + +- return zend_exception_get_default(); ++ return zend_ce_exception; + } + /* }}} */ + diff --git a/www/pecl-yar/files/patch-php85 b/www/pecl-yar/files/patch-php85 new file mode 100644 index 000000000000..20c15b01392c --- /dev/null +++ b/www/pecl-yar/files/patch-php85 @@ -0,0 +1,11 @@ +--- yar_exception.c.orig 2024-06-25 08:51:10 UTC ++++ yar_exception.c +@@ -62,7 +62,7 @@ zend_class_entry * php_yar_get_exception_base(int root + } + #endif + +- return zend_exception_get_default(); ++ return zend_ce_exception; + } + /* }}} */ + diff --git a/www/py-feedgenerator/Makefile b/www/py-feedgenerator/Makefile index d0a8b4fb5c25..6155157a7e30 100644 --- a/www/py-feedgenerator/Makefile +++ b/www/py-feedgenerator/Makefile @@ -1,6 +1,5 @@ PORTNAME= feedgenerator -PORTVERSION= 2.1.0 -PORTREVISION= 1 +PORTVERSION= 2.2.0 CATEGORIES= www python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,12 +11,10 @@ WWW= https://github.com/getpelican/feedgenerator LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=40.6.0:devel/py-setuptools@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytz>=0,1:devel/py-pytz@${PY_FLAVOR} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} USES= python -USE_PYTHON= autoplist concurrent pep517 unittest +USE_PYTHON= autoplist concurrent pep517 pytest NO_ARCH= yes diff --git a/www/py-feedgenerator/distinfo b/www/py-feedgenerator/distinfo index 70ce22dc678a..f6cc51cede38 100644 --- a/www/py-feedgenerator/distinfo +++ b/www/py-feedgenerator/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1681843906 -SHA256 (feedgenerator-2.1.0.tar.gz) = f075f23f28fd227f097c36b212161c6cf012e1c6caaf7ff53d5d6bb02cd42b9d -SIZE (feedgenerator-2.1.0.tar.gz) = 20682 +TIMESTAMP = 1752566726 +SHA256 (feedgenerator-2.2.0.tar.gz) = 2976f6ccc5989a967202da343ea145c21aedabbe0035c7088d64ba0aa9725a60 +SIZE (feedgenerator-2.2.0.tar.gz) = 20309 diff --git a/www/py-freenit/Makefile b/www/py-freenit/Makefile index 5d4194423c65..c3cef51fc9bf 100644 --- a/www/py-freenit/Makefile +++ b/www/py-freenit/Makefile @@ -1,5 +1,5 @@ PORTNAME= freenit -DISTVERSION= 0.3.19 +DISTVERSION= 0.3.20 CATEGORIES= www devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/www/py-freenit/distinfo b/www/py-freenit/distinfo index 328f9f0e73c8..48bdc9faf306 100644 --- a/www/py-freenit/distinfo +++ b/www/py-freenit/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1751665277 -SHA256 (freenit-0.3.19.tar.gz) = 4d61c6c6f393c0b5ef344d2710aae5e3bbdb535a7b507d39911ee09b23b1641f -SIZE (freenit-0.3.19.tar.gz) = 28403 +TIMESTAMP = 1753270744 +SHA256 (freenit-0.3.20.tar.gz) = d5a48c39d7d603ea9aeac8a29d25d9c3fb1fc5ebfbc4bf56f829b01f5e88906d +SIZE (freenit-0.3.20.tar.gz) = 28417 diff --git a/www/py-rfc3987-syntax/Makefile b/www/py-rfc3987-syntax/Makefile new file mode 100644 index 000000000000..ce164ab080b1 --- /dev/null +++ b/www/py-rfc3987-syntax/Makefile @@ -0,0 +1,23 @@ +PORTNAME= rfc3987-syntax +PORTVERSION= 1.1.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= rfc3987_syntax-${PORTVERSION} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Helper functions to syntactically validate strings according to RFC 3987 +WWW= https://github.com/willynilly/rfc3987-syntax + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lark>=1.2.2:devel/py-lark@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include <bsd.port.mk> diff --git a/www/py-rfc3987-syntax/distinfo b/www/py-rfc3987-syntax/distinfo new file mode 100644 index 000000000000..84e591b5d264 --- /dev/null +++ b/www/py-rfc3987-syntax/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1753213880 +SHA256 (rfc3987_syntax-1.1.0.tar.gz) = 717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d +SIZE (rfc3987_syntax-1.1.0.tar.gz) = 14239 diff --git a/www/py-rfc3987-syntax/pkg-descr b/www/py-rfc3987-syntax/pkg-descr new file mode 100644 index 000000000000..afc27d822cbc --- /dev/null +++ b/www/py-rfc3987-syntax/pkg-descr @@ -0,0 +1,11 @@ +rfc3987-syntax provides helper functions to parse and validate the syntax of +terms defined in RFC 3987 -- the IETF standard for Internationalized Resource +Identifiers (IRIs). + +The goal of rfc3987-syntax is to provide a lightweight, permissively licensed +Python module for validating that strings conform to the ABNF grammar defined in +RFC 3987. These helpers are: +- Strictly aligned with the syntax rules of RFC 3987 +- Built using a permissive MIT license +- Designed for both open source and proprietary use +- Powered by Lark, a fast, EBNF-based parser diff --git a/www/rubygem-async-pool/Makefile b/www/rubygem-async-pool/Makefile index 992cffe68a7f..e0374e5b5299 100644 --- a/www/rubygem-async-pool/Makefile +++ b/www/rubygem-async-pool/Makefile @@ -1,5 +1,5 @@ PORTNAME= async-pool -PORTVERSION= 0.10.3 +PORTVERSION= 0.11.0 CATEGORIES= www rubygems MASTER_SITES= RG @@ -11,7 +11,7 @@ WWW= https://socketry.github.io/async-pool/ \ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/license.md -RUN_DEPENDS= rubygem-async>=1.25:devel/rubygem-async +RUN_DEPENDS= rubygem-async>=2.0:devel/rubygem-async USES= gem diff --git a/www/rubygem-async-pool/distinfo b/www/rubygem-async-pool/distinfo index 8df4f2d20354..35d7d12c0bb2 100644 --- a/www/rubygem-async-pool/distinfo +++ b/www/rubygem-async-pool/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1738606631 -SHA256 (rubygem/async-pool-0.10.3.gem) = b542f9decc34fd3d6d0544576408bb79d6d2d2aa9ca467a75b546ac45765008a -SIZE (rubygem/async-pool-0.10.3.gem) = 13312 +TIMESTAMP = 1752566748 +SHA256 (rubygem/async-pool-0.11.0.gem) = 2228c4a8d1ca59a259b5f9dab7e0f9f23d57856b195aca1c0aa684a7439ea525 +SIZE (rubygem/async-pool-0.11.0.gem) = 13824 diff --git a/www/rubygem-passenger/files/patch-libev b/www/rubygem-passenger/files/patch-libev new file mode 100644 index 000000000000..b7c89c1af886 --- /dev/null +++ b/www/rubygem-passenger/files/patch-libev @@ -0,0 +1,23 @@ +--- src/cxx_supportlib/vendor-modified/libev/ev.c.orig 2025-07-13 19:43:52 UTC ++++ src/cxx_supportlib/vendor-modified/libev/ev.c +@@ -421,6 +421,11 @@ + + #if EV_USE_INOTIFY + # include <sys/statfs.h> ++# ifdef __FreeBSD__ ++# include <sys/mount.h> ++# else ++# include <sys/statfs.h> ++# endif + # include <sys/inotify.h> + /* some very old inotify.h headers don't have IN_DONT_FOLLOW */ + # ifndef IN_DONT_FOLLOW +@@ -2753,7 +2758,7 @@ ev_recommended_backends (void) EV_THROW + { + unsigned int flags = ev_supported_backends (); + +-#ifndef __NetBSD__ ++#if !defined(__NetBSD__) && !defined(__FreeBSD__) + /* kqueue is borked on everything but netbsd apparently */ + /* it usually doesn't work correctly on anything but sockets and pipes */ + flags &= ~EVBACKEND_KQUEUE; diff --git a/www/rubygem-protocol-http1/Makefile b/www/rubygem-protocol-http1/Makefile index 8208be10cd03..a4ef690aa9ef 100644 --- a/www/rubygem-protocol-http1/Makefile +++ b/www/rubygem-protocol-http1/Makefile @@ -1,5 +1,5 @@ PORTNAME= protocol-http1 -PORTVERSION= 0.34.0 +PORTVERSION= 0.34.1 CATEGORIES= www rubygems MASTER_SITES= RG diff --git a/www/rubygem-protocol-http1/distinfo b/www/rubygem-protocol-http1/distinfo index 62db2c7b4dc6..5b9b683b0c7c 100644 --- a/www/rubygem-protocol-http1/distinfo +++ b/www/rubygem-protocol-http1/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1744289358 -SHA256 (rubygem/protocol-http1-0.34.0.gem) = 96f9a88ceb77d8e9ae967037c3831a2869e04bb55663209a8043d63ced177c4a -SIZE (rubygem/protocol-http1-0.34.0.gem) = 21504 +TIMESTAMP = 1752566750 +SHA256 (rubygem/protocol-http1-0.34.1.gem) = 146532623e506f3cbe814a69411ca45477c29249dc92c945249ca3222a02eb88 +SIZE (rubygem/protocol-http1-0.34.1.gem) = 21504 diff --git a/www/rubygem-rdf/Makefile b/www/rubygem-rdf/Makefile index 420ecd3974c2..77fad31e2cfc 100644 --- a/www/rubygem-rdf/Makefile +++ b/www/rubygem-rdf/Makefile @@ -1,5 +1,5 @@ PORTNAME= rdf -PORTVERSION= 3.3.3 +PORTVERSION= 3.3.4 CATEGORIES= www rubygems MASTER_SITES= RG @@ -15,7 +15,8 @@ RUN_DEPENDS= rubygem-bcp47_spec>=0.2<1:devel/rubygem-bcp47_spec \ rubygem-bigdecimal>=3.1.5<4:math/rubygem-bigdecimal \ rubygem-link_header>=0.0.8<1:www/rubygem-link_header \ rubygem-logger>=1.5<2:devel/rubygem-logger \ - rubygem-ostruct>=0.6<1:devel/rubygem-ostruct + rubygem-ostruct>=0.6<1:devel/rubygem-ostruct \ + rubygem-readline>=0.0<1:devel/rubygem-readline USES= gem diff --git a/www/rubygem-rdf/distinfo b/www/rubygem-rdf/distinfo index 46429ac0108b..30024491924e 100644 --- a/www/rubygem-rdf/distinfo +++ b/www/rubygem-rdf/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1750954460 -SHA256 (rubygem/rdf-3.3.3.gem) = d93b9f967b92cae1d90f3827424fe00c18ace3c61a18cac3691da85bb177dcda -SIZE (rubygem/rdf-3.3.3.gem) = 159744 +TIMESTAMP = 1752566752 +SHA256 (rubygem/rdf-3.3.4.gem) = a77fa0821e5b4e2bea9fdbb7c9d980564c89d27e81979690ce5c9e6bc80859c1 +SIZE (rubygem/rdf-3.3.4.gem) = 160256 diff --git a/www/rubygem-roda/Makefile b/www/rubygem-roda/Makefile index 74b7e852f622..135a4034ae7f 100644 --- a/www/rubygem-roda/Makefile +++ b/www/rubygem-roda/Makefile @@ -1,5 +1,5 @@ PORTNAME= roda -PORTVERSION= 3.93.0 +PORTVERSION= 3.94.0 CATEGORIES= www rubygems MASTER_SITES= RG diff --git a/www/rubygem-roda/distinfo b/www/rubygem-roda/distinfo index a0a726c7bb12..7cb90035c081 100644 --- a/www/rubygem-roda/distinfo +++ b/www/rubygem-roda/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1750188280 -SHA256 (rubygem/roda-3.93.0.gem) = f4246e1a0dcae64d9abda11b91a2ab75395580f8748b25045a5b52a97c8c164a -SIZE (rubygem/roda-3.93.0.gem) = 189952 +TIMESTAMP = 1752566802 +SHA256 (rubygem/roda-3.94.0.gem) = 161e13e6060cb6fdab05ee29e04d9e71cfbfa687edbb57d8e2da8f1748551fff +SIZE (rubygem/roda-3.94.0.gem) = 190464 |