aboutsummaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile4
-rw-r--r--databases/diesel/Makefile266
-rw-r--r--databases/diesel/distinfo528
-rw-r--r--databases/freetds-devel/Makefile2
-rw-r--r--databases/freetds-devel/distinfo6
-rw-r--r--databases/geoserver-mysql-plugin/Makefile4
-rw-r--r--databases/geoserver-mysql-plugin/distinfo6
-rw-r--r--databases/mydumper/Makefile2
-rw-r--r--databases/mydumper/distinfo6
-rw-r--r--databases/mysql94-client/Makefile51
-rw-r--r--databases/mysql94-client/pkg-message8
-rw-r--r--databases/mysql94-client/pkg-plist40
-rw-r--r--databases/mysql94-server/Makefile182
-rw-r--r--databases/mysql94-server/distinfo3
-rw-r--r--databases/mysql94-server/files/my.cnf.sample.in57
-rw-r--r--databases/mysql94-server/files/mysql-server.in78
-rw-r--r--databases/mysql94-server/files/patch-CMakeLists.txt80
-rw-r--r--databases/mysql94-server/files/patch-client_CMakeLists.txt62
-rw-r--r--databases/mysql94-server/files/patch-cmake_install__layout.cmake95
-rw-r--r--databases/mysql94-server/files/patch-cmake_libutils.cmake22
-rw-r--r--databases/mysql94-server/files/patch-cmake_os_DragonFly.cmake27
-rw-r--r--databases/mysql94-server/files/patch-cmake_plugin.cmake27
-rw-r--r--databases/mysql94-server/files/patch-cmake_ssl.cmake25
-rw-r--r--databases/mysql94-server/files/patch-extra_abseil_abseil-cpp-20230802.1_absl_time_internal_cctz_src_time__zone__format.cc20
-rw-r--r--databases/mysql94-server/files/patch-include_my__compare.h11
-rw-r--r--databases/mysql94-server/files/patch-include_my__stacktrace.h11
-rw-r--r--databases/mysql94-server/files/patch-include_my__thread__os__id.h15
-rw-r--r--databases/mysql94-server/files/patch-include_myisam.h11
-rw-r--r--databases/mysql94-server/files/patch-libmysql_CMakeLists.txt64
-rw-r--r--databases/mysql94-server/files/patch-libservices_CMakeLists.txt12
-rw-r--r--databases/mysql94-server/files/patch-man_CMakeLists.txt71
-rw-r--r--databases/mysql94-server/files/patch-mysys_my__default.cc62
-rw-r--r--databases/mysql94-server/files/patch-mysys_my__kdf.cc20
-rw-r--r--databases/mysql94-server/files/patch-plugin_password__validation_validate__password.cc11
-rw-r--r--databases/mysql94-server/files/patch-plugin_x_CMakeLists.txt11
-rw-r--r--databases/mysql94-server/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc11
-rw-r--r--databases/mysql94-server/files/patch-plugin_x_configure.cmake15
-rw-r--r--databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h13
-rw-r--r--databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h10
-rw-r--r--databases/mysql94-server/files/patch-router_src_harness_src_tls__client__context.cc11
-rw-r--r--databases/mysql94-server/files/patch-router_src_harness_src_tls__context.cc44
-rw-r--r--databases/mysql94-server/files/patch-scripts_CMakeLists.txt52
-rw-r--r--databases/mysql94-server/files/patch-scripts_mysqld__safe.sh19
-rw-r--r--databases/mysql94-server/files/patch-sql_auth_sha2__password__common.cc11
-rw-r--r--databases/mysql94-server/files/patch-sql_auth_sql__authorization.cc13
-rw-r--r--databases/mysql94-server/files/patch-sql_binlog__ostream.cc11
-rw-r--r--databases/mysql94-server/files/patch-sql_conn__handler_socket__connection.cc32
-rw-r--r--databases/mysql94-server/files/patch-sql_mdl__context__backup.cc36
-rw-r--r--databases/mysql94-server/files/patch-sql_mysqld.cc11
-rw-r--r--databases/mysql94-server/files/patch-sql_rpl__log__encryption.cc134
-rw-r--r--databases/mysql94-server/files/patch-sql_ssl__init__callback.cc36
-rw-r--r--databases/mysql94-server/files/patch-sql_sys__vars.cc29
-rw-r--r--databases/mysql94-server/files/patch-storage_innobase_include_srv0mon.h13
-rw-r--r--databases/mysql94-server/files/patch-storage_innobase_include_ut0crc32.h12
-rw-r--r--databases/mysql94-server/files/patch-storage_innobase_ut_crc32.cc104
-rw-r--r--databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc22
-rw-r--r--databases/mysql94-server/files/patch-support-files_CMakeLists.txt39
-rw-r--r--databases/mysql94-server/files/patch-unittest_gunit_stream__cipher-t.cc15
-rw-r--r--databases/mysql94-server/files/patch-utilities_CMakeLists.txt68
-rw-r--r--databases/mysql94-server/files/patch-vio_viossl.cc30
-rw-r--r--databases/mysql94-server/files/patch-vio_viosslfactories.cc46
-rw-r--r--databases/mysql94-server/files/pkg-message.in21
-rw-r--r--databases/mysql94-server/pkg-descr4
-rw-r--r--databases/mysql94-server/pkg-plist288
-rw-r--r--databases/pecl-memcached/Makefile2
-rw-r--r--databases/pecl-memcached/distinfo6
-rw-r--r--databases/pecl-memcached/files/patch-php8525
-rw-r--r--databases/pgactive/Makefile2
-rw-r--r--databases/pgactive/distinfo6
-rw-r--r--databases/pgactive/pkg-plist1
-rw-r--r--databases/postgresql-orafce/Makefile2
-rw-r--r--databases/postgresql-orafce/distinfo6
-rw-r--r--databases/py-aiomysql/Makefile7
-rw-r--r--databases/py-aiomysql/distinfo6
-rw-r--r--databases/py-aiomysql/files/patch-pyproject.toml25
-rw-r--r--databases/py-anysqlite/Makefile23
-rw-r--r--databases/py-anysqlite/distinfo3
-rw-r--r--databases/py-anysqlite/pkg-descr2
-rw-r--r--databases/py-datafusion/Makefile2
-rw-r--r--databases/py-datafusion/Makefile.crates113
-rw-r--r--databases/py-datafusion/distinfo232
-rw-r--r--databases/py-dbt-core/Makefile3
-rw-r--r--databases/py-dbt-core/files/patch-setup.py8
-rw-r--r--databases/py-mysql-connector-python/Makefile2
-rw-r--r--databases/py-mysql-connector-python/distinfo6
-rw-r--r--databases/py-psycopg-c/Makefile2
-rw-r--r--databases/py-psycopg-c/distinfo6
-rw-r--r--databases/py-psycopg/Makefile2
-rw-r--r--databases/py-psycopg/distinfo6
-rw-r--r--databases/py-sqlframe/Makefile4
-rw-r--r--databases/py-sqlframe/distinfo6
-rw-r--r--databases/py-sqlglot/Makefile4
-rw-r--r--databases/py-sqlglot/distinfo6
-rw-r--r--databases/py-sqlglotrs/Makefile2
-rw-r--r--databases/py-sqlglotrs/distinfo6
-rw-r--r--databases/py-tiledb/Makefile4
-rw-r--r--databases/py-tiledb/distinfo6
-rw-r--r--databases/py-tiledb/files/patch-pyproject.toml6
-rw-r--r--databases/rocksdb/Makefile6
-rw-r--r--databases/rocksdb/distinfo6
-rw-r--r--databases/rocksdb/files/patch-db-db_test_util.cc35
-rw-r--r--databases/rocksdb/pkg-plist1
-rw-r--r--databases/rubygem-attr_json/Makefile4
-rw-r--r--databases/rubygem-attr_json/distinfo6
-rw-r--r--databases/rubygem-click_house-client/Makefile2
-rw-r--r--databases/rubygem-click_house-client/distinfo6
-rw-r--r--databases/rubygem-solid_queue-rails72/Makefile5
-rw-r--r--databases/rubygem-solid_queue-rails72/distinfo6
-rw-r--r--databases/rubygem-solid_queue/Makefile5
-rw-r--r--databases/rubygem-solid_queue/distinfo6
-rw-r--r--databases/sqlx-cli/Makefile6
-rw-r--r--databases/sqlx-cli/distinfo12
-rw-r--r--databases/tiledb/Makefile2
-rw-r--r--databases/tiledb/distinfo6
-rw-r--r--databases/valkey8/Makefile72
-rw-r--r--databases/valkey8/distinfo3
-rw-r--r--databases/valkey8/files/patch-deps-Makefile21
-rw-r--r--databases/valkey8/files/patch-deps-hiredis-Makefile41
-rw-r--r--databases/valkey8/files/patch-deps-hiredis-net.c39
-rw-r--r--databases/valkey8/files/patch-deps-linenoise-Makefile15
-rw-r--r--databases/valkey8/files/patch-deps_lua_src_lua__cjson.c12
-rw-r--r--databases/valkey8/files/patch-sentinel.conf26
-rw-r--r--databases/valkey8/files/patch-src-Makefile54
-rw-r--r--databases/valkey8/files/patch-src-mkreleasehdr.sh11
-rw-r--r--databases/valkey8/files/patch-valkey.conf38
-rw-r--r--databases/valkey8/files/pkg-message.in11
-rw-r--r--databases/valkey8/files/valkey.in67
-rw-r--r--databases/valkey8/files/valkeysentinel.in39
-rw-r--r--databases/valkey8/pkg-descr6
-rw-r--r--databases/valkey8/pkg-plist11
130 files changed, 3501 insertions, 671 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 0872df0cbcf0..09c38af27148 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -199,6 +199,8 @@
SUBDIR += mysql84-server
SUBDIR += mysql91-client
SUBDIR += mysql91-server
+ SUBDIR += mysql94-client
+ SUBDIR += mysql94-server
SUBDIR += mysqlbackup
SUBDIR += mysqldump-secure
SUBDIR += mysqlreport
@@ -757,6 +759,7 @@
SUBDIR += py-aiosql
SUBDIR += py-aiosqlite
SUBDIR += py-alembic
+ SUBDIR += py-anysqlite
SUBDIR += py-apache-arrow
SUBDIR += py-apsw
SUBDIR += py-asyncmy
@@ -1137,6 +1140,7 @@
SUBDIR += unixODBC
SUBDIR += usql
SUBDIR += valkey
+ SUBDIR += valkey8
SUBDIR += vfront
SUBDIR += virtualpg
SUBDIR += weaviate
diff --git a/databases/diesel/Makefile b/databases/diesel/Makefile
index 21f58cd87e8c..d143da3c6a12 100644
--- a/databases/diesel/Makefile
+++ b/databases/diesel/Makefile
@@ -1,7 +1,6 @@
PORTNAME= diesel
DISTVERSIONPREFIX= v
-DISTVERSION= 2.2.12
-PORTREVISION= 2
+DISTVERSION= 2.3.3
CATEGORIES= databases
PKGNAMESUFFIX= -cli
@@ -22,60 +21,73 @@ GH_ACCOUNT= diesel-rs
CARGO_BUILD_ARGS= --package=diesel_cli
CARGO_INSTALL_PATH= diesel_cli
-CARGO_CRATES= aho-corasick-1.1.3 \
- android-tzdata-0.1.1 \
+CARGO_CRATES= accessory-2.1.0 \
+ aho-corasick-1.1.3 \
android_system_properties-0.1.5 \
- anstream-0.6.19 \
- anstyle-1.0.11 \
+ anstream-0.6.21 \
+ anstyle-1.0.13 \
anstyle-parse-0.2.7 \
- anstyle-query-1.1.3 \
- anstyle-wincon-3.0.9 \
+ anstyle-query-1.1.4 \
+ anstyle-wincon-3.0.10 \
argon2-0.5.3 \
+ assert_cmd-2.0.17 \
assert_matches-1.5.0 \
autocfg-1.5.0 \
base64ct-1.8.0 \
- bigdecimal-0.4.8 \
- bitflags-2.9.1 \
+ bigdecimal-0.4.9 \
+ bitflags-2.10.0 \
blake2-0.10.6 \
block-buffer-0.10.4 \
+ bstr-1.12.1 \
bumpalo-3.19.0 \
byteorder-1.5.0 \
- cc-1.2.29 \
- cfg-if-1.0.1 \
- chrono-0.4.41 \
- clap-4.5.41 \
- clap_builder-4.5.41 \
- clap_complete-4.5.55 \
- clap_derive-4.5.41 \
- clap_lex-0.7.5 \
+ camino-1.2.1 \
+ cargo-platform-0.1.9 \
+ cargo_metadata-0.19.2 \
+ cc-1.2.43 \
+ cfg-if-1.0.4 \
+ chrono-0.4.42 \
+ clap-4.5.50 \
+ clap_builder-4.5.50 \
+ clap_complete-4.5.59 \
+ clap_derive-4.5.49 \
+ clap_lex-0.7.6 \
cmake-0.1.54 \
colorchoice-1.0.4 \
console-0.15.11 \
core-foundation-sys-0.8.7 \
cpufeatures-0.2.17 \
crypto-common-0.1.6 \
- darling-0.20.11 \
- darling_core-0.20.11 \
- darling_macro-0.20.11 \
- deranged-0.4.0 \
+ darling-0.21.3 \
+ darling_core-0.21.3 \
+ darling_macro-0.21.3 \
+ delegate-display-3.0.0 \
+ deranged-0.5.5 \
+ derive_more-2.0.1 \
+ derive_more-impl-2.0.1 \
+ difflib-0.4.0 \
diffy-0.4.2 \
digest-0.10.7 \
displaydoc-0.2.5 \
+ doc-comment-0.3.4 \
dotenvy-0.15.7 \
+ downcast-rs-2.0.2 \
+ dunce-1.0.5 \
either-1.15.0 \
encode_unicode-1.0.0 \
env_logger-0.8.4 \
- equivalent-1.0.2 \
- errno-0.3.13 \
+ errno-0.3.14 \
+ fancy_constructor-2.1.0 \
fastrand-2.3.0 \
+ fd-lock-4.0.4 \
+ find-msvc-tools-0.1.4 \
fnv-1.0.7 \
- form_urlencoded-1.2.1 \
- generic-array-0.14.7 \
+ form_urlencoded-1.2.2 \
+ generic-array-0.14.9 \
getrandom-0.2.16 \
- getrandom-0.3.3 \
- hashbrown-0.15.4 \
+ getrandom-0.3.4 \
heck-0.5.0 \
- iana-time-zone-0.1.63 \
+ iana-time-zone-0.1.64 \
iana-time-zone-haiku-0.1.2 \
icu_collections-2.0.0 \
icu_locale_core-2.0.0 \
@@ -85,158 +97,180 @@ CARGO_CRATES= aho-corasick-1.1.3 \
icu_properties_data-2.0.1 \
icu_provider-2.0.0 \
ident_case-1.0.1 \
- idna-1.0.3 \
+ idna-1.1.0 \
idna_adapter-1.2.1 \
- indexmap-2.10.0 \
- insta-1.43.1 \
+ impartial-ord-1.0.6 \
+ indexed_db_futures-0.6.4 \
+ indexed_db_futures_macros_internal-1.0.0 \
+ insta-1.43.2 \
ipnet-2.11.0 \
ipnetwork-0.21.1 \
- is_terminal_polyfill-1.70.1 \
+ is_terminal_polyfill-1.70.2 \
itoa-1.0.15 \
- js-sys-0.3.77 \
+ js-sys-0.3.81 \
lazy_static-1.5.0 \
- libc-0.2.174 \
+ libc-0.2.177 \
libm-0.2.15 \
libsqlite3-sys-0.35.0 \
- link-cplusplus-1.0.10 \
- linux-raw-sys-0.9.4 \
+ link-cplusplus-1.0.12 \
+ linux-raw-sys-0.11.0 \
litemap-0.8.0 \
- lock_api-0.4.13 \
- log-0.4.27 \
- matchers-0.1.0 \
- memchr-2.7.5 \
+ lock_api-0.4.14 \
+ log-0.4.28 \
+ macroific-2.0.0 \
+ macroific_attr_parse-2.0.0 \
+ macroific_core-2.0.0 \
+ macroific_macro-2.0.0 \
+ matchers-0.2.0 \
+ memchr-2.7.6 \
+ minicov-0.3.7 \
mysqlclient-src-0.1.4+9.3.0 \
mysqlclient-sys-0.4.7 \
- nu-ansi-term-0.46.0 \
- nu-ansi-term-0.50.1 \
+ nu-ansi-term-0.50.3 \
num-bigint-0.4.6 \
num-conv-0.1.0 \
num-integer-0.1.46 \
num-traits-0.2.19 \
once_cell-1.21.3 \
- once_cell_polyfill-1.70.1 \
- openssl-src-300.5.1+3.5.1 \
- openssl-sys-0.9.109 \
- overload-0.1.1 \
- parking_lot-0.12.4 \
- parking_lot_core-0.9.11 \
+ once_cell_polyfill-1.70.2 \
+ openssl-src-300.5.4+3.5.4 \
+ openssl-sys-0.9.110 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
password-hash-0.5.0 \
- percent-encoding-2.3.1 \
+ percent-encoding-2.3.2 \
pin-project-lite-0.2.16 \
pkg-config-0.3.32 \
- potential_utf-0.1.2 \
+ potential_utf-0.1.3 \
powerfmt-0.2.0 \
ppv-lite86-0.2.21 \
- pq-src-0.3.9+libpq-17.5 \
- pq-sys-0.7.2 \
- proc-macro2-1.0.95 \
+ pq-src-0.3.10+libpq-18.0 \
+ pq-sys-0.7.5 \
+ predicates-3.1.3 \
+ predicates-core-1.0.9 \
+ predicates-tree-1.0.12 \
+ prettyplease-0.2.37 \
+ proc-macro2-1.0.103 \
quickcheck-1.0.3 \
- quote-1.0.40 \
+ quote-1.0.41 \
r-efi-5.3.0 \
r2d2-0.8.10 \
rand-0.8.5 \
- rand_chacha-0.3.1 \
+ rand-0.9.2 \
+ rand_chacha-0.9.0 \
rand_core-0.6.4 \
- redox_syscall-0.5.13 \
- regex-1.11.1 \
- regex-automata-0.1.10 \
- regex-automata-0.4.9 \
- regex-syntax-0.6.29 \
- regex-syntax-0.8.5 \
- rustix-1.0.7 \
- rustversion-1.0.21 \
+ rand_core-0.9.3 \
+ redox_syscall-0.5.18 \
+ regex-1.12.2 \
+ regex-automata-0.4.13 \
+ regex-syntax-0.8.8 \
+ rustix-1.1.2 \
+ rustversion-1.0.22 \
ryu-1.0.20 \
+ same-file-1.0.6 \
scheduled-thread-pool-0.2.7 \
scopeguard-1.2.0 \
- semver-1.0.26 \
- serde-1.0.219 \
- serde_derive-1.0.219 \
- serde_json-1.0.140 \
+ sealed-0.6.0 \
+ semver-1.0.27 \
+ serde-1.0.228 \
+ serde-wasm-bindgen-0.6.5 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_json-1.0.145 \
serde_regex-1.1.0 \
- serde_spanned-1.0.0 \
+ serde_spanned-1.0.3 \
sharded-slab-0.1.7 \
shlex-1.3.0 \
similar-2.7.0 \
+ similar-asserts-1.7.0 \
smallvec-1.15.1 \
- stable_deref_trait-1.2.0 \
+ sqlite-wasm-rs-0.4.6 \
+ stable_deref_trait-1.2.1 \
strsim-0.11.1 \
subtle-2.6.1 \
- syn-2.0.104 \
+ syn-2.0.108 \
synstructure-0.13.2 \
- tempfile-3.20.0 \
- thiserror-2.0.12 \
- thiserror-impl-2.0.12 \
+ tempfile-3.23.0 \
+ termtree-0.5.1 \
+ thiserror-2.0.17 \
+ thiserror-impl-2.0.17 \
thread_local-1.1.9 \
- time-0.3.41 \
- time-core-0.1.4 \
- time-macros-0.2.22 \
+ time-0.3.44 \
+ time-core-0.1.6 \
+ time-macros-0.2.24 \
tinystr-0.8.1 \
- toml-0.9.2 \
- toml_datetime-0.7.0 \
- toml_parser-1.0.1 \
- toml_writer-1.0.2 \
+ tokio-1.48.0 \
+ toml-0.9.8 \
+ toml_datetime-0.7.3 \
+ toml_parser-1.0.4 \
tracing-0.1.41 \
tracing-attributes-0.1.30 \
tracing-core-0.1.34 \
tracing-log-0.2.0 \
- tracing-subscriber-0.3.19 \
- typenum-1.18.0 \
- unicode-ident-1.0.18 \
- url-2.5.4 \
+ tracing-subscriber-0.3.20 \
+ typenum-1.19.0 \
+ unicode-ident-1.0.20 \
+ unicode-segmentation-1.12.0 \
+ unicode-xid-0.2.6 \
+ url-2.5.7 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
- uuid-1.17.0 \
+ uuid-1.18.1 \
valuable-0.1.1 \
vcpkg-0.2.15 \
version_check-0.9.5 \
+ wait-timeout-0.2.1 \
+ walkdir-2.5.0 \
wasi-0.11.1+wasi-snapshot-preview1 \
- wasi-0.14.2+wasi-0.2.4 \
- wasm-bindgen-0.2.100 \
- wasm-bindgen-backend-0.2.100 \
- wasm-bindgen-macro-0.2.100 \
- wasm-bindgen-macro-support-0.2.100 \
- wasm-bindgen-shared-0.2.100 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- windows-core-0.61.2 \
- windows-implement-0.60.0 \
- windows-interface-0.59.1 \
- windows-link-0.1.3 \
- windows-result-0.3.4 \
- windows-strings-0.4.2 \
- windows-sys-0.52.0 \
+ wasip2-1.0.1+wasi-0.2.4 \
+ wasm-bindgen-0.2.104 \
+ wasm-bindgen-backend-0.2.104 \
+ wasm-bindgen-futures-0.4.54 \
+ wasm-bindgen-macro-0.2.104 \
+ wasm-bindgen-macro-support-0.2.104 \
+ wasm-bindgen-shared-0.2.104 \
+ wasm-bindgen-test-0.3.54 \
+ wasm-bindgen-test-macro-0.3.54 \
+ web-sys-0.3.81 \
+ winapi-util-0.1.11 \
+ windows-core-0.62.2 \
+ windows-implement-0.60.2 \
+ windows-interface-0.59.3 \
+ windows-link-0.2.1 \
+ windows-result-0.4.1 \
+ windows-strings-0.5.1 \
windows-sys-0.59.0 \
windows-sys-0.60.2 \
+ windows-sys-0.61.2 \
windows-targets-0.52.6 \
- windows-targets-0.53.2 \
+ windows-targets-0.53.5 \
windows_aarch64_gnullvm-0.52.6 \
- windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_gnullvm-0.53.1 \
windows_aarch64_msvc-0.52.6 \
- windows_aarch64_msvc-0.53.0 \
+ windows_aarch64_msvc-0.53.1 \
windows_i686_gnu-0.52.6 \
- windows_i686_gnu-0.53.0 \
+ windows_i686_gnu-0.53.1 \
windows_i686_gnullvm-0.52.6 \
- windows_i686_gnullvm-0.53.0 \
+ windows_i686_gnullvm-0.53.1 \
windows_i686_msvc-0.52.6 \
- windows_i686_msvc-0.53.0 \
+ windows_i686_msvc-0.53.1 \
windows_x86_64_gnu-0.52.6 \
- windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnu-0.53.1 \
windows_x86_64_gnullvm-0.52.6 \
- windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_gnullvm-0.53.1 \
windows_x86_64_msvc-0.52.6 \
- windows_x86_64_msvc-0.53.0 \
- winnow-0.7.12 \
- wit-bindgen-rt-0.39.0 \
+ windows_x86_64_msvc-0.53.1 \
+ winnow-0.7.13 \
+ wit-bindgen-0.46.0 \
writeable-0.6.1 \
yoke-0.8.0 \
yoke-derive-0.8.0 \
- zerocopy-0.8.26 \
- zerocopy-derive-0.8.26 \
+ zerocopy-0.8.27 \
+ zerocopy-derive-0.8.27 \
zerofrom-0.1.6 \
zerofrom-derive-0.1.6 \
zerotrie-0.2.2 \
- zerovec-0.11.2 \
+ zerovec-0.11.4 \
zerovec-derive-0.11.1
PLIST_FILES= bin/${PORTNAME}
diff --git a/databases/diesel/distinfo b/databases/diesel/distinfo
index 6f18a280c6ca..103d1af19cf8 100644
--- a/databases/diesel/distinfo
+++ b/databases/diesel/distinfo
@@ -1,56 +1,66 @@
-TIMESTAMP = 1752473534
+TIMESTAMP = 1761523792
+SHA256 (rust/crates/accessory-2.1.0.crate) = 28e416a3ab45838bac2ab2d81b1088d738d7b2d2c5272a54d39366565a29bd80
+SIZE (rust/crates/accessory-2.1.0.crate) = 13195
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
-SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
-SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
-SHA256 (rust/crates/anstream-0.6.19.crate) = 301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933
-SIZE (rust/crates/anstream-0.6.19.crate) = 28767
-SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd
-SIZE (rust/crates/anstyle-1.0.11.crate) = 15880
+SHA256 (rust/crates/anstream-0.6.21.crate) = 43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a
+SIZE (rust/crates/anstream-0.6.21.crate) = 29516
+SHA256 (rust/crates/anstyle-1.0.13.crate) = 5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78
+SIZE (rust/crates/anstyle-1.0.13.crate) = 17651
SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
-SHA256 (rust/crates/anstyle-query-1.1.3.crate) = 6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9
-SIZE (rust/crates/anstyle-query-1.1.3.crate) = 10190
-SHA256 (rust/crates/anstyle-wincon-3.0.9.crate) = 403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882
-SIZE (rust/crates/anstyle-wincon-3.0.9.crate) = 12561
+SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2
+SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192
+SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a
+SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558
SHA256 (rust/crates/argon2-0.5.3.crate) = 3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072
SIZE (rust/crates/argon2-0.5.3.crate) = 28795
+SHA256 (rust/crates/assert_cmd-2.0.17.crate) = 2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66
+SIZE (rust/crates/assert_cmd-2.0.17.crate) = 26914
SHA256 (rust/crates/assert_matches-1.5.0.crate) = 9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9
SIZE (rust/crates/assert_matches-1.5.0.crate) = 7761
SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
SHA256 (rust/crates/base64ct-1.8.0.crate) = 55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba
SIZE (rust/crates/base64ct-1.8.0.crate) = 31211
-SHA256 (rust/crates/bigdecimal-0.4.8.crate) = 1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013
-SIZE (rust/crates/bigdecimal-0.4.8.crate) = 89479
-SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
-SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
+SHA256 (rust/crates/bigdecimal-0.4.9.crate) = 560f42649de9fa436b73517378a147ec21f6c997a546581df4b4b31677828934
+SIZE (rust/crates/bigdecimal-0.4.9.crate) = 135074
+SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
SHA256 (rust/crates/blake2-0.10.6.crate) = 46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe
SIZE (rust/crates/blake2-0.10.6.crate) = 47234
SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/bstr-1.12.1.crate) = 63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab
+SIZE (rust/crates/bstr-1.12.1.crate) = 354916
SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
-SHA256 (rust/crates/cc-1.2.29.crate) = 5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362
-SIZE (rust/crates/cc-1.2.29.crate) = 108072
-SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268
-SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683
-SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
-SIZE (rust/crates/chrono-0.4.41.crate) = 234621
-SHA256 (rust/crates/clap-4.5.41.crate) = be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9
-SIZE (rust/crates/clap-4.5.41.crate) = 58298
-SHA256 (rust/crates/clap_builder-4.5.41.crate) = 707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d
-SIZE (rust/crates/clap_builder-4.5.41.crate) = 169633
-SHA256 (rust/crates/clap_complete-4.5.55.crate) = a5abde44486daf70c5be8b8f8f1b66c49f86236edf6fa2abadb4d961c4c6229a
-SIZE (rust/crates/clap_complete-4.5.55.crate) = 48536
-SHA256 (rust/crates/clap_derive-4.5.41.crate) = ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491
-SIZE (rust/crates/clap_derive-4.5.41.crate) = 33493
-SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
-SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
+SHA256 (rust/crates/camino-1.2.1.crate) = 276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609
+SIZE (rust/crates/camino-1.2.1.crate) = 41364
+SHA256 (rust/crates/cargo-platform-0.1.9.crate) = e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea
+SIZE (rust/crates/cargo-platform-0.1.9.crate) = 12010
+SHA256 (rust/crates/cargo_metadata-0.19.2.crate) = dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba
+SIZE (rust/crates/cargo_metadata-0.19.2.crate) = 28370
+SHA256 (rust/crates/cc-1.2.43.crate) = 739eb0f94557554b3ca9a86d2d37bebd49c5e6d0c1d2bda35ba5bdac830befc2
+SIZE (rust/crates/cc-1.2.43.crate) = 91384
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
+SIZE (rust/crates/chrono-0.4.42.crate) = 238174
+SHA256 (rust/crates/clap-4.5.50.crate) = 0c2cfd7bf8a6017ddaa4e32ffe7403d547790db06bd171c1c53926faab501623
+SIZE (rust/crates/clap-4.5.50.crate) = 62030
+SHA256 (rust/crates/clap_builder-4.5.50.crate) = 0a4c05b9e80c5ccd3a7ef080ad7b6ba7d6fc00a985b8b157197075677c82c7a0
+SIZE (rust/crates/clap_builder-4.5.50.crate) = 171137
+SHA256 (rust/crates/clap_complete-4.5.59.crate) = 2348487adcd4631696ced64ccdb40d38ac4d31cae7f2eec8817fcea1b9d1c43c
+SIZE (rust/crates/clap_complete-4.5.59.crate) = 48576
+SHA256 (rust/crates/clap_derive-4.5.49.crate) = 2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671
+SIZE (rust/crates/clap_derive-4.5.49.crate) = 33559
+SHA256 (rust/crates/clap_lex-0.7.6.crate) = a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d
+SIZE (rust/crates/clap_lex-0.7.6.crate) = 13466
SHA256 (rust/crates/cmake-0.1.54.crate) = e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0
SIZE (rust/crates/cmake-0.1.54.crate) = 18955
SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
@@ -63,50 +73,66 @@ SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b53169
SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
-SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee
-SIZE (rust/crates/darling-0.20.11.crate) = 37614
-SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e
-SIZE (rust/crates/darling_core-0.20.11.crate) = 68006
-SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead
-SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532
-SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
-SIZE (rust/crates/deranged-0.4.0.crate) = 23235
+SHA256 (rust/crates/darling-0.21.3.crate) = 9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0
+SIZE (rust/crates/darling-0.21.3.crate) = 41398
+SHA256 (rust/crates/darling_core-0.21.3.crate) = 1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4
+SIZE (rust/crates/darling_core-0.21.3.crate) = 74471
+SHA256 (rust/crates/darling_macro-0.21.3.crate) = d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81
+SIZE (rust/crates/darling_macro-0.21.3.crate) = 2535
+SHA256 (rust/crates/delegate-display-3.0.0.crate) = 9926686c832494164c33a36bf65118f4bd6e704000b58c94681bf62e9ad67a74
+SIZE (rust/crates/delegate-display-3.0.0.crate) = 8952
+SHA256 (rust/crates/deranged-0.5.5.crate) = ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587
+SIZE (rust/crates/deranged-0.5.5.crate) = 24438
+SHA256 (rust/crates/derive_more-2.0.1.crate) = 093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678
+SIZE (rust/crates/derive_more-2.0.1.crate) = 70127
+SHA256 (rust/crates/derive_more-impl-2.0.1.crate) = bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3
+SIZE (rust/crates/derive_more-impl-2.0.1.crate) = 78233
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
SHA256 (rust/crates/diffy-0.4.2.crate) = b545b8c50194bdd008283985ab0b31dba153cfd5b3066a92770634fbc0d7d291
SIZE (rust/crates/diffy-0.4.2.crate) = 37945
SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
SIZE (rust/crates/digest-0.10.7.crate) = 19557
SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/doc-comment-0.3.4.crate) = 780955b8b195a21ab8e4ac6b60dd1dbdcec1dc6c51c0617964b08c81785e12c9
+SIZE (rust/crates/doc-comment-0.3.4.crate) = 4341
SHA256 (rust/crates/dotenvy-0.15.7.crate) = 1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b
SIZE (rust/crates/dotenvy-0.15.7.crate) = 20293
+SHA256 (rust/crates/downcast-rs-2.0.2.crate) = 117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc
+SIZE (rust/crates/downcast-rs-2.0.2.crate) = 12730
+SHA256 (rust/crates/dunce-1.0.5.crate) = 92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813
+SIZE (rust/crates/dunce-1.0.5.crate) = 8244
SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
SIZE (rust/crates/either-1.15.0.crate) = 20114
SHA256 (rust/crates/encode_unicode-1.0.0.crate) = 34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0
SIZE (rust/crates/encode_unicode-1.0.0.crate) = 56986
SHA256 (rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
SIZE (rust/crates/env_logger-0.8.4.crate) = 33342
-SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
-SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
-SHA256 (rust/crates/errno-0.3.13.crate) = 778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad
-SIZE (rust/crates/errno-0.3.13.crate) = 12449
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/fancy_constructor-2.1.0.crate) = 28a27643a5d05f3a22f5afd6e0d0e6e354f92d37907006f97b84b9cb79082198
+SIZE (rust/crates/fancy_constructor-2.1.0.crate) = 8253
SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fd-lock-4.0.4.crate) = 0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78
+SIZE (rust/crates/fd-lock-4.0.4.crate) = 15522
+SHA256 (rust/crates/find-msvc-tools-0.1.4.crate) = 52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127
+SIZE (rust/crates/find-msvc-tools-0.1.4.crate) = 30817
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
-SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
-SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
-SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
-SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
+SHA256 (rust/crates/generic-array-0.14.9.crate) = 4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2
+SIZE (rust/crates/generic-array-0.14.9.crate) = 17439
SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
-SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
-SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
-SHA256 (rust/crates/hashbrown-0.15.4.crate) = 5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5
-SIZE (rust/crates/hashbrown-0.15.4.crate) = 140447
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
-SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8
-SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919
+SHA256 (rust/crates/iana-time-zone-0.1.64.crate) = 33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb
+SIZE (rust/crates/iana-time-zone-0.1.64.crate) = 33152
SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
SHA256 (rust/crates/icu_collections-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47
@@ -125,54 +151,66 @@ SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276
SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
-SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
-SIZE (rust/crates/idna-1.0.3.crate) = 142515
+SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
+SIZE (rust/crates/idna-1.1.0.crate) = 148747
SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
-SHA256 (rust/crates/indexmap-2.10.0.crate) = fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661
-SIZE (rust/crates/indexmap-2.10.0.crate) = 95836
-SHA256 (rust/crates/insta-1.43.1.crate) = 154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371
-SIZE (rust/crates/insta-1.43.1.crate) = 101047
+SHA256 (rust/crates/impartial-ord-1.0.6.crate) = 0ab604ee7085efba6efc65e4ebca0e9533e3aff6cb501d7d77b211e3a781c6d5
+SIZE (rust/crates/impartial-ord-1.0.6.crate) = 1985
+SHA256 (rust/crates/indexed_db_futures-0.6.4.crate) = 69ff41758cbd104e91033bb53bc449bec7eea65652960c81eddf3fc146ecea19
+SIZE (rust/crates/indexed_db_futures-0.6.4.crate) = 59186
+SHA256 (rust/crates/indexed_db_futures_macros_internal-1.0.0.crate) = caeba94923b68f254abef921cea7e7698bf4675fdd89d7c58bf1ed885b49a27d
+SIZE (rust/crates/indexed_db_futures_macros_internal-1.0.0.crate) = 10093
+SHA256 (rust/crates/insta-1.43.2.crate) = 46fdb647ebde000f43b5b53f773c30cf9b0cb4300453208713fa38b2c70935a0
+SIZE (rust/crates/insta-1.43.2.crate) = 102183
SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130
SIZE (rust/crates/ipnet-2.11.0.crate) = 29718
SHA256 (rust/crates/ipnetwork-0.21.1.crate) = cf370abdafd54d13e54a620e8c3e1145f28e46cc9d704bc6d94414559df41763
SIZE (rust/crates/ipnetwork-0.21.1.crate) = 19565
-SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
-SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/is_terminal_polyfill-1.70.2.crate) = a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695
+SIZE (rust/crates/is_terminal_polyfill-1.70.2.crate) = 7548
SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
SIZE (rust/crates/itoa-1.0.15.crate) = 11231
-SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
-SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/js-sys-0.3.81.crate) = ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305
+SIZE (rust/crates/js-sys-0.3.81.crate) = 56399
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
-SHA256 (rust/crates/libc-0.2.174.crate) = 1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776
-SIZE (rust/crates/libc-0.2.174.crate) = 779933
+SHA256 (rust/crates/libc-0.2.177.crate) = 2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976
+SIZE (rust/crates/libc-0.2.177.crate) = 792045
SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de
SIZE (rust/crates/libm-0.2.15.crate) = 156108
SHA256 (rust/crates/libsqlite3-sys-0.35.0.crate) = 133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f
SIZE (rust/crates/libsqlite3-sys-0.35.0.crate) = 5200364
-SHA256 (rust/crates/link-cplusplus-1.0.10.crate) = 4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212
-SIZE (rust/crates/link-cplusplus-1.0.10.crate) = 8054
-SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
-SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
+SHA256 (rust/crates/link-cplusplus-1.0.12.crate) = 7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82
+SIZE (rust/crates/link-cplusplus-1.0.12.crate) = 8178
+SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
+SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
SIZE (rust/crates/litemap-0.8.0.crate) = 34344
-SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765
-SIZE (rust/crates/lock_api-0.4.13.crate) = 28565
-SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
-SIZE (rust/crates/log-0.4.27.crate) = 48120
-SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
-SIZE (rust/crates/matchers-0.1.0.crate) = 6948
-SHA256 (rust/crates/memchr-2.7.5.crate) = 32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0
-SIZE (rust/crates/memchr-2.7.5.crate) = 97603
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432
+SIZE (rust/crates/log-0.4.28.crate) = 51131
+SHA256 (rust/crates/macroific-2.0.0.crate) = 89f276537b4b8f981bf1c13d79470980f71134b7bdcc5e6e911e910e556b0285
+SIZE (rust/crates/macroific-2.0.0.crate) = 4727
+SHA256 (rust/crates/macroific_attr_parse-2.0.0.crate) = ad4023761b45fcd36abed8fb7ae6a80456b0a38102d55e89a57d9a594a236be9
+SIZE (rust/crates/macroific_attr_parse-2.0.0.crate) = 9359
+SHA256 (rust/crates/macroific_core-2.0.0.crate) = d0a7594d3c14916fa55bef7e9d18c5daa9ed410dd37504251e4b75bbdeec33e3
+SIZE (rust/crates/macroific_core-2.0.0.crate) = 7474
+SHA256 (rust/crates/macroific_macro-2.0.0.crate) = 4da6f2ed796261b0a74e2b52b42c693bb6dee1effba3a482c49592659f824b3b
+SIZE (rust/crates/macroific_macro-2.0.0.crate) = 6648
+SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9
+SIZE (rust/crates/matchers-0.2.0.crate) = 7075
+SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/minicov-0.3.7.crate) = f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b
+SIZE (rust/crates/minicov-0.3.7.crate) = 43788
SHA256 (rust/crates/mysqlclient-src-0.1.4+9.3.0.crate) = 3fb3acc91e4bacea5c6380ac15f3185b261fe0d71e78f9f5b423cf7d6b3b065d
SIZE (rust/crates/mysqlclient-src-0.1.4+9.3.0.crate) = 10930441
SHA256 (rust/crates/mysqlclient-sys-0.4.7.crate) = 86a34a2bdec189f1060343ba712983e14cad7e87515cfd9ac4653e207535b6b1
SIZE (rust/crates/mysqlclient-sys-0.4.7.crate) = 930924
-SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
-SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
-SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
-SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
+SHA256 (rust/crates/nu-ansi-term-0.50.3.crate) = 7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5
+SIZE (rust/crates/nu-ansi-term-0.50.3.crate) = 29597
SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
@@ -183,128 +221,148 @@ SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0
SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
-SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
-SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
-SHA256 (rust/crates/openssl-src-300.5.1+3.5.1.crate) = 735230c832b28c000e3bc117119e6466a663ec73506bc0a9907ea4187508e42a
-SIZE (rust/crates/openssl-src-300.5.1+3.5.1.crate) = 10505501
-SHA256 (rust/crates/openssl-sys-0.9.109.crate) = 90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571
-SIZE (rust/crates/openssl-sys-0.9.109.crate) = 78247
-SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
-SIZE (rust/crates/overload-0.1.1.crate) = 24439
-SHA256 (rust/crates/parking_lot-0.12.4.crate) = 70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13
-SIZE (rust/crates/parking_lot-0.12.4.crate) = 46779
-SHA256 (rust/crates/parking_lot_core-0.9.11.crate) = bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5
-SIZE (rust/crates/parking_lot_core-0.9.11.crate) = 34773
+SHA256 (rust/crates/once_cell_polyfill-1.70.2.crate) = 384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe
+SIZE (rust/crates/once_cell_polyfill-1.70.2.crate) = 7448
+SHA256 (rust/crates/openssl-src-300.5.4+3.5.4.crate) = a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72
+SIZE (rust/crates/openssl-src-300.5.4+3.5.4.crate) = 7102203
+SHA256 (rust/crates/openssl-sys-0.9.110.crate) = 0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2
+SIZE (rust/crates/openssl-sys-0.9.110.crate) = 80412
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
SHA256 (rust/crates/password-hash-0.5.0.crate) = 346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166
SIZE (rust/crates/password-hash-0.5.0.crate) = 26884
-SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
-SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
-SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585
-SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613
+SHA256 (rust/crates/potential_utf-0.1.3.crate) = 84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a
+SIZE (rust/crates/potential_utf-0.1.3.crate) = 9698
SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
-SHA256 (rust/crates/pq-src-0.3.9+libpq-17.5.crate) = 24ee82a51d19317d15e43b82e496db215ad5bf09a245786e7ac75cb859e5ba46
-SIZE (rust/crates/pq-src-0.3.9+libpq-17.5.crate) = 503889
-SHA256 (rust/crates/pq-sys-0.7.2.crate) = dfd6cf44cca8f9624bc19df234fc4112873432f5fda1caff174527846d026fa9
-SIZE (rust/crates/pq-sys-0.7.2.crate) = 37470
-SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
-SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
+SHA256 (rust/crates/pq-src-0.3.10+libpq-18.0.crate) = 56ef39ce621f4993d6084fdcd4cbf1e01c84bdba53109cfad095d2cf441b85b9
+SIZE (rust/crates/pq-src-0.3.10+libpq-18.0.crate) = 536830
+SHA256 (rust/crates/pq-sys-0.7.5.crate) = 574ddd6a267294433f140b02a726b0640c43cf7c6f717084684aaa3b285aba61
+SIZE (rust/crates/pq-sys-0.7.5.crate) = 34816
+SHA256 (rust/crates/predicates-3.1.3.crate) = a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573
+SIZE (rust/crates/predicates-3.1.3.crate) = 24063
+SHA256 (rust/crates/predicates-core-1.0.9.crate) = 727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa
+SIZE (rust/crates/predicates-core-1.0.9.crate) = 8618
+SHA256 (rust/crates/predicates-tree-1.0.12.crate) = 72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c
+SIZE (rust/crates/predicates-tree-1.0.12.crate) = 8392
+SHA256 (rust/crates/prettyplease-0.2.37.crate) = 479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b
+SIZE (rust/crates/prettyplease-0.2.37.crate) = 72033
+SHA256 (rust/crates/proc-macro2-1.0.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
+SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
SHA256 (rust/crates/quickcheck-1.0.3.crate) = 588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6
SIZE (rust/crates/quickcheck-1.0.3.crate) = 28069
-SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
-SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/quote-1.0.41.crate) = ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1
+SIZE (rust/crates/quote-1.0.41.crate) = 31408
SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
SHA256 (rust/crates/r2d2-0.8.10.crate) = 51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93
SIZE (rust/crates/r2d2-0.8.10.crate) = 17888
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
-SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
-SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1
+SIZE (rust/crates/rand-0.9.2.crate) = 99930
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
-SHA256 (rust/crates/redox_syscall-0.5.13.crate) = 0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6
-SIZE (rust/crates/redox_syscall-0.5.13.crate) = 29489
-SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
-SIZE (rust/crates/regex-1.11.1.crate) = 254170
-SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
-SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
-SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
-SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
-SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
-SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
-SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
-SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
-SHA256 (rust/crates/rustix-1.0.7.crate) = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266
-SIZE (rust/crates/rustix-1.0.7.crate) = 414500
-SHA256 (rust/crates/rustversion-1.0.21.crate) = 8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d
-SIZE (rust/crates/rustversion-1.0.21.crate) = 21001
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+SHA256 (rust/crates/regex-1.12.2.crate) = 843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4
+SIZE (rust/crates/regex-1.12.2.crate) = 163843
+SHA256 (rust/crates/regex-automata-0.4.13.crate) = 5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c
+SIZE (rust/crates/regex-automata-0.4.13.crate) = 625250
+SHA256 (rust/crates/regex-syntax-0.8.8.crate) = 7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58
+SIZE (rust/crates/regex-syntax-0.8.8.crate) = 359141
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
SIZE (rust/crates/ryu-1.0.20.crate) = 48738
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
SHA256 (rust/crates/scheduled-thread-pool-0.2.7.crate) = 3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19
SIZE (rust/crates/scheduled-thread-pool-0.2.7.crate) = 10554
SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
-SHA256 (rust/crates/semver-1.0.26.crate) = 56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0
-SIZE (rust/crates/semver-1.0.26.crate) = 31303
-SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
-SIZE (rust/crates/serde-1.0.219.crate) = 78983
-SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
-SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
-SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373
-SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
+SHA256 (rust/crates/sealed-0.6.0.crate) = 22f968c5ea23d555e670b449c1c5e7b2fc399fdaec1d304a17cd48e288abc107
+SIZE (rust/crates/sealed-0.6.0.crate) = 14039
+SHA256 (rust/crates/semver-1.0.27.crate) = d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2
+SIZE (rust/crates/semver-1.0.27.crate) = 30081
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde-wasm-bindgen-0.6.5.crate) = 8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b
+SIZE (rust/crates/serde-wasm-bindgen-0.6.5.crate) = 21098
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
SHA256 (rust/crates/serde_regex-1.1.0.crate) = a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf
SIZE (rust/crates/serde_regex-1.1.0.crate) = 9710
-SHA256 (rust/crates/serde_spanned-1.0.0.crate) = 40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83
-SIZE (rust/crates/serde_spanned-1.0.0.crate) = 10956
+SHA256 (rust/crates/serde_spanned-1.0.3.crate) = e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392
+SIZE (rust/crates/serde_spanned-1.0.3.crate) = 11011
SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
SHA256 (rust/crates/similar-2.7.0.crate) = bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa
SIZE (rust/crates/similar-2.7.0.crate) = 53928
+SHA256 (rust/crates/similar-asserts-1.7.0.crate) = b5b441962c817e33508847a22bd82f03a30cff43642dc2fae8b050566121eb9a
+SIZE (rust/crates/similar-asserts-1.7.0.crate) = 15783
SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
-SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
-SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/sqlite-wasm-rs-0.4.6.crate) = 54e4348c16a3d2e2a45437eff67efc5462b60443de76f61b5d0ed9111c626d9d
+SIZE (rust/crates/sqlite-wasm-rs-0.4.6.crate) = 6319576
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
-SHA256 (rust/crates/syn-2.0.104.crate) = 17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40
-SIZE (rust/crates/syn-2.0.104.crate) = 299699
+SHA256 (rust/crates/syn-2.0.108.crate) = da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917
+SIZE (rust/crates/syn-2.0.108.crate) = 301754
SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
-SHA256 (rust/crates/tempfile-3.20.0.crate) = e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1
-SIZE (rust/crates/tempfile-3.20.0.crate) = 42306
-SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708
-SIZE (rust/crates/thiserror-2.0.12.crate) = 28693
-SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
-SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
+SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
+SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185
SIZE (rust/crates/thread_local-1.1.9.crate) = 19315
-SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40
-SIZE (rust/crates/time-0.3.41.crate) = 138369
-SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c
-SIZE (rust/crates/time-core-0.1.4.crate) = 8422
-SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49
-SIZE (rust/crates/time-macros-0.2.22.crate) = 24604
+SHA256 (rust/crates/time-0.3.44.crate) = 91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d
+SIZE (rust/crates/time-0.3.44.crate) = 143200
+SHA256 (rust/crates/time-core-0.1.6.crate) = 40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b
+SIZE (rust/crates/time-core-0.1.6.crate) = 9105
+SHA256 (rust/crates/time-macros-0.2.24.crate) = 30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3
+SIZE (rust/crates/time-macros-0.2.24.crate) = 24715
SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
-SHA256 (rust/crates/toml-0.9.2.crate) = ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac
-SIZE (rust/crates/toml-0.9.2.crate) = 56695
-SHA256 (rust/crates/toml_datetime-0.7.0.crate) = bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3
-SIZE (rust/crates/toml_datetime-0.7.0.crate) = 18108
-SHA256 (rust/crates/toml_parser-1.0.1.crate) = 97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30
-SIZE (rust/crates/toml_parser-1.0.1.crate) = 35063
-SHA256 (rust/crates/toml_writer-1.0.2.crate) = fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64
-SIZE (rust/crates/toml_writer-1.0.2.crate) = 16988
+SHA256 (rust/crates/tokio-1.48.0.crate) = ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408
+SIZE (rust/crates/tokio-1.48.0.crate) = 843434
+SHA256 (rust/crates/toml-0.9.8.crate) = f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8
+SIZE (rust/crates/toml-0.9.8.crate) = 56104
+SHA256 (rust/crates/toml_datetime-0.7.3.crate) = f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533
+SIZE (rust/crates/toml_datetime-0.7.3.crate) = 17827
+SHA256 (rust/crates/toml_parser-1.0.4.crate) = c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e
+SIZE (rust/crates/toml_parser-1.0.4.crate) = 34978
SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0
SIZE (rust/crates/tracing-0.1.41.crate) = 82448
SHA256 (rust/crates/tracing-attributes-0.1.30.crate) = 81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903
@@ -313,123 +371,135 @@ SHA256 (rust/crates/tracing-core-0.1.34.crate) = b9d12581f227e93f094d3af2ae690a5
SIZE (rust/crates/tracing-core-0.1.34.crate) = 63760
SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
-SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008
-SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345
-SHA256 (rust/crates/typenum-1.18.0.crate) = 1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f
-SIZE (rust/crates/typenum-1.18.0.crate) = 74871
-SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
-SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
-SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
-SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/tracing-subscriber-0.3.20.crate) = 2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5
+SIZE (rust/crates/tracing-subscriber-0.3.20.crate) = 212274
+SHA256 (rust/crates/typenum-1.19.0.crate) = 562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb
+SIZE (rust/crates/typenum-1.19.0.crate) = 76414
+SHA256 (rust/crates/unicode-ident-1.0.20.crate) = 462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06
+SIZE (rust/crates/unicode-ident-1.0.20.crate) = 47416
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853
+SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744
+SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b
+SIZE (rust/crates/url-2.5.7.crate) = 87907
SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
-SHA256 (rust/crates/uuid-1.17.0.crate) = 3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d
-SIZE (rust/crates/uuid-1.17.0.crate) = 59014
+SHA256 (rust/crates/uuid-1.18.1.crate) = 2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2
+SIZE (rust/crates/uuid-1.18.1.crate) = 60468
SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
SIZE (rust/crates/valuable-0.1.1.crate) = 28679
SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/wait-timeout-0.2.1.crate) = 09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11
+SIZE (rust/crates/wait-timeout-0.2.1.crate) = 11435
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
-SHA256 (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3
-SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921
-SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
-SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
-SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
-SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
-SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
-SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
-SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
-SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
-SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
-SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/windows-core-0.61.2.crate) = c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3
-SIZE (rust/crates/windows-core-0.61.2.crate) = 36771
-SHA256 (rust/crates/windows-implement-0.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836
-SIZE (rust/crates/windows-implement-0.60.0.crate) = 15073
-SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8
-SIZE (rust/crates/windows-interface-0.59.1.crate) = 11735
-SHA256 (rust/crates/windows-link-0.1.3.crate) = 5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a
-SIZE (rust/crates/windows-link-0.1.3.crate) = 6154
-SHA256 (rust/crates/windows-result-0.3.4.crate) = 56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6
-SIZE (rust/crates/windows-result-0.3.4.crate) = 13418
-SHA256 (rust/crates/windows-strings-0.4.2.crate) = 56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57
-SIZE (rust/crates/windows-strings-0.4.2.crate) = 13983
-SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
-SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
+SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087
+SHA256 (rust/crates/wasm-bindgen-0.2.104.crate) = c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d
+SIZE (rust/crates/wasm-bindgen-0.2.104.crate) = 47345
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.104.crate) = 671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19
+SIZE (rust/crates/wasm-bindgen-backend-0.2.104.crate) = 32230
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.54.crate) = 7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c
+SIZE (rust/crates/wasm-bindgen-futures-0.4.54.crate) = 16381
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.104.crate) = 7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119
+SIZE (rust/crates/wasm-bindgen-macro-0.2.104.crate) = 9390
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.104.crate) = 9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.104.crate) = 26411
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.104.crate) = bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1
+SIZE (rust/crates/wasm-bindgen-shared-0.2.104.crate) = 9057
+SHA256 (rust/crates/wasm-bindgen-test-0.3.54.crate) = 4e381134e148c1062f965a42ed1f5ee933eef2927c3f70d1812158f711d39865
+SIZE (rust/crates/wasm-bindgen-test-0.3.54.crate) = 21938
+SHA256 (rust/crates/wasm-bindgen-test-macro-0.3.54.crate) = b673bca3298fe582aeef8352330ecbad91849f85090805582400850f8270a2e8
+SIZE (rust/crates/wasm-bindgen-test-macro-0.3.54.crate) = 11829
+SHA256 (rust/crates/web-sys-0.3.81.crate) = 9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120
+SIZE (rust/crates/web-sys-0.3.81.crate) = 641812
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-core-0.62.2.crate) = b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb
+SIZE (rust/crates/windows-core-0.62.2.crate) = 36932
+SHA256 (rust/crates/windows-implement-0.60.2.crate) = 053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf
+SIZE (rust/crates/windows-implement-0.60.2.crate) = 15325
+SHA256 (rust/crates/windows-interface-0.59.3.crate) = 3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358
+SIZE (rust/crates/windows-interface-0.59.3.crate) = 11809
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-result-0.4.1.crate) = 7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5
+SIZE (rust/crates/windows-result-0.4.1.crate) = 13381
+SHA256 (rust/crates/windows-strings-0.5.1.crate) = 7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091
+SIZE (rust/crates/windows-strings-0.5.1.crate) = 13966
SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
-SHA256 (rust/crates/windows-targets-0.53.2.crate) = c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef
-SIZE (rust/crates/windows-targets-0.53.2.crate) = 7046
+SHA256 (rust/crates/windows-targets-0.53.5.crate) = 4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3
+SIZE (rust/crates/windows-targets-0.53.5.crate) = 7126
SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
-SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
-SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = 787748
SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
-SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
-SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.1.crate) = b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006
+SIZE (rust/crates/windows_aarch64_msvc-0.53.1.crate) = 838009
SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
-SHA256 (rust/crates/windows_i686_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
-SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+SHA256 (rust/crates/windows_i686_gnu-0.53.1.crate) = 960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3
+SIZE (rust/crates/windows_i686_gnu-0.53.1.crate) = 939775
SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
-SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
-SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.1.crate) = fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c
+SIZE (rust/crates/windows_i686_gnullvm-0.53.1.crate) = 857396
SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
-SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
-SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+SHA256 (rust/crates/windows_i686_msvc-0.53.1.crate) = 1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2
+SIZE (rust/crates/windows_i686_msvc-0.53.1.crate) = 907688
SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
-SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
-SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499
+SIZE (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 903712
SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
-SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
-SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 787739
SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
-SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
-SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
-SHA256 (rust/crates/winnow-0.7.12.crate) = f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95
-SIZE (rust/crates/winnow-0.7.12.crate) = 174403
-SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1
-SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.1.crate) = d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650
+SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
+SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf
+SIZE (rust/crates/winnow-0.7.13.crate) = 174454
+SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
+SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508
SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
SIZE (rust/crates/writeable-0.6.1.crate) = 24068
SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc
SIZE (rust/crates/yoke-0.8.0.crate) = 28726
SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6
SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521
-SHA256 (rust/crates/zerocopy-0.8.26.crate) = 1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f
-SIZE (rust/crates/zerocopy-0.8.26.crate) = 249223
-SHA256 (rust/crates/zerocopy-derive-0.8.26.crate) = 9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181
-SIZE (rust/crates/zerocopy-derive-0.8.26.crate) = 88080
+SHA256 (rust/crates/zerocopy-0.8.27.crate) = 0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c
+SIZE (rust/crates/zerocopy-0.8.27.crate) = 252663
+SHA256 (rust/crates/zerocopy-derive-0.8.27.crate) = 88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831
+SIZE (rust/crates/zerocopy-derive-0.8.27.crate) = 89827
SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
-SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428
-SIZE (rust/crates/zerovec-0.11.2.crate) = 124500
+SHA256 (rust/crates/zerovec-0.11.4.crate) = e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b
+SIZE (rust/crates/zerovec-0.11.4.crate) = 125080
SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
-SHA256 (diesel-rs-diesel-v2.2.12_GH0.tar.gz) = 583f2d71a14b2bb318222474bd1f26f93e945a3e98dcf1b892c67463abe13897
-SIZE (diesel-rs-diesel-v2.2.12_GH0.tar.gz) = 849219
+SHA256 (diesel-rs-diesel-v2.3.3_GH0.tar.gz) = 11941ce0131aede9cfc915eaa8696cab650d528634a9647fccc853d96889f2aa
+SIZE (diesel-rs-diesel-v2.3.3_GH0.tar.gz) = 1023894
diff --git a/databases/freetds-devel/Makefile b/databases/freetds-devel/Makefile
index 51a3a226618a..eb21058325ab 100644
--- a/databases/freetds-devel/Makefile
+++ b/databases/freetds-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= freetds
-DISTVERSION= 1.5.121
+DISTVERSION= 1.5.122
PORTEPOCH= 1
CATEGORIES= databases
MASTER_SITES= https://www.freetds.org/files/current/
diff --git a/databases/freetds-devel/distinfo b/databases/freetds-devel/distinfo
index 9143c8ebcb0c..2bcd296bdd28 100644
--- a/databases/freetds-devel/distinfo
+++ b/databases/freetds-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1760696173
-SHA256 (freetds-dev.1.5.121.tar.bz2) = ae6db6c7428d9d96b062c06e45484ddc5af48d9861d8dd1d732a539e1ab68dfa
-SIZE (freetds-dev.1.5.121.tar.bz2) = 2455024
+TIMESTAMP = 1761559633
+SHA256 (freetds-dev.1.5.122.tar.bz2) = bc607dd8d17f31c03fe51f0139cb006b6e84d97a5c7f65d773fe1c8b0a4af142
+SIZE (freetds-dev.1.5.122.tar.bz2) = 2455051
diff --git a/databases/geoserver-mysql-plugin/Makefile b/databases/geoserver-mysql-plugin/Makefile
index 9c2cc6872a1d..753250ba95e1 100644
--- a/databases/geoserver-mysql-plugin/Makefile
+++ b/databases/geoserver-mysql-plugin/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geoserver
-DISTVERSION= 2.27.2
+DISTVERSION= 2.28.0
CATEGORIES= databases geography java
MASTER_SITES= SF/${PORTNAME}/GeoServer/${PORTVERSION}/extensions
PKGNAMESUFFIX= -mysql-plugin
@@ -22,7 +22,7 @@ NO_BUILD= yes
SUB_FILES= pkg-message
GSLIBDIR= geoserver/webapps/geoserver/WEB-INF/lib
-PLIST_FILES= ${GSLIBDIR}/gt-jdbc-mysql-33.2.jar \
+PLIST_FILES= ${GSLIBDIR}/gt-jdbc-mysql-34.0.jar \
${GSLIBDIR}/mysql-connector-j-9.1.0.jar
do-install:
diff --git a/databases/geoserver-mysql-plugin/distinfo b/databases/geoserver-mysql-plugin/distinfo
index 27800c6a7556..f14da9b901a5 100644
--- a/databases/geoserver-mysql-plugin/distinfo
+++ b/databases/geoserver-mysql-plugin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753306241
-SHA256 (geoserver-2.27.2-mysql-plugin.zip) = 280f98fa4fb1202a342439935de18432f641e29b901b94c02368dc22aa26f797
-SIZE (geoserver-2.27.2-mysql-plugin.zip) = 2492577
+TIMESTAMP = 1761415998
+SHA256 (geoserver-2.28.0-mysql-plugin.zip) = 4ed3d9b51a260190798f730486ccd9b590f495f9a22922033e1ade39449f3060
+SIZE (geoserver-2.28.0-mysql-plugin.zip) = 2492991
diff --git a/databases/mydumper/Makefile b/databases/mydumper/Makefile
index eaea411a3b36..599b5bee3c21 100644
--- a/databases/mydumper/Makefile
+++ b/databases/mydumper/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mydumper
DISTVERSIONPREFIX= v
-DISTVERSION= 0.19.4-19
+DISTVERSION= 0.20.2-2
CATEGORIES= databases
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/databases/mydumper/distinfo b/databases/mydumper/distinfo
index 6252c4b6fdde..cea70a11a0a1 100644
--- a/databases/mydumper/distinfo
+++ b/databases/mydumper/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759816528
-SHA256 (mydumper-mydumper-v0.19.4-19_GH0.tar.gz) = b0d2ba1d105eb095f3833102ab05f7af60403fac7027637c56a5471c78bb665a
-SIZE (mydumper-mydumper-v0.19.4-19_GH0.tar.gz) = 849142
+TIMESTAMP = 1761446470
+SHA256 (mydumper-mydumper-v0.20.2-2_GH0.tar.gz) = 0db28e6272b11940db307b9658a3a6a347087df7c549d1fb746071aca4fbf99e
+SIZE (mydumper-mydumper-v0.20.2-2_GH0.tar.gz) = 851216
diff --git a/databases/mysql94-client/Makefile b/databases/mysql94-client/Makefile
new file mode 100644
index 000000000000..b3c9a0f21964
--- /dev/null
+++ b/databases/mysql94-client/Makefile
@@ -0,0 +1,51 @@
+PORTNAME= mysql
+PORTREVISION= 0
+PKGNAMESUFFIX= 94-client
+
+COMMENT= Multithreaded SQL database (client)
+
+LICENSE+= LGPL21
+
+# MySQL8.2+ supports only 64-bit platforms
+# Review list after 13.x EoL
+NOT_FOR_ARCHS= armv6 armv7 i386 powerpc
+
+MASTERDIR= ${.CURDIR}/../mysql94-server
+
+PKGMESSAGE= ${.CURDIR}/pkg-message
+PATCHDIR= ${MASTERDIR}/files
+PLIST= ${.CURDIR}/pkg-plist
+
+CONFLICTS_INSTALL= mysql8[1-9]-client \
+ mysql[0-79][0-9]-client \
+ mariadb[0-9][0-9]-client \
+ percona[0-9][0-9]-client
+
+CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0
+
+USE_LDCONFIG+= ${PREFIX}/lib/mysql
+
+MMAN1= comp_err.1 lz4_decompress.1 mysql.1 mysql_config.1 mysql_config_editor.1 \
+ mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlman.1 \
+ mysqlpump.1 mysqlshow.1 mysqlslap.1 perror.1 zlib_decompress.1
+
+CLIENT_ONLY= yes
+
+OPTIONS_GROUP+= PLUGINS
+PLUGINS_DESC= Default Client Plugins
+OPTIONS_GROUP_PLUGINS= SASLCLIENT
+SASLCLIENT_DESC= SASL client plugin module
+SASLCLIENT_CMAKE_BOOL= WITH_AUTHENTICATION_LDAP
+SASLCLIENT_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
+SASLCLIENT_USES= ldap
+
+OPTIONS_DEFAULT+= SASLCLIENT
+OPTIONS_SUB= yes
+
+post-install:
+ @${RM} -r ${STAGEDIR}${PREFIX}/lib/mysql/private
+ @${LN} -s libmysqlclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a
+ @${LN} -s libmysqlclient.so ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so
+ @${LN} -s libmysqlclient.so.24 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so.24
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/mysql94-client/pkg-message b/databases/mysql94-client/pkg-message
new file mode 100644
index 000000000000..0ae6d267d1a9
--- /dev/null
+++ b/databases/mysql94-client/pkg-message
@@ -0,0 +1,8 @@
+[
+{ type: install
+ message: <<EOM
+This is the mysql CLIENT without the server.
+for complete server and client, please install databases/mysql94-server
+EOM
+}
+]
diff --git a/databases/mysql94-client/pkg-plist b/databases/mysql94-client/pkg-plist
new file mode 100644
index 000000000000..f2fad046b8b2
--- /dev/null
+++ b/databases/mysql94-client/pkg-plist
@@ -0,0 +1,40 @@
+bin/comp_err
+bin/my_print_defaults
+bin/mysql
+bin/mysql_config
+bin/mysql_config_editor
+bin/mysql_migrate_keyring
+bin/mysqladmin
+bin/mysqlbinlog
+bin/mysqlcheck
+bin/mysqldump
+bin/mysqlimport
+bin/mysqlshow
+bin/mysqlslap
+bin/perror
+include/mysql/errmsg.h
+include/mysql/field_types.h
+include/mysql/my_command.h
+include/mysql/my_compress.h
+include/mysql/my_list.h
+include/mysql/mysql.h
+include/mysql/mysql/client_plugin.h
+include/mysql/mysql/plugin_auth_common.h
+include/mysql/mysql/udf_registration_types.h
+include/mysql/mysql_com.h
+include/mysql/mysql_time.h
+include/mysql/mysql_version.h
+include/mysql/mysqld_error.h
+lib/mysql/libmysqlclient.a
+lib/mysql/libmysqlclient.so
+lib/mysql/libmysqlclient.so.24
+lib/mysql/libmysqlclient_r.a
+lib/mysql/libmysqlclient_r.so
+lib/mysql/libmysqlclient_r.so.24
+%%SASLCLIENT%%lib/mysql/plugin/authentication_ldap_sasl_client.so
+%%SASLCLIENT%%lib/mysql/plugin/authentication_oci_client.so
+%%SASLCLIENT%%lib/mysql/plugin/authentication_openid_connect_client.so
+%%SASLCLIENT%%lib/mysql/plugin/authentication_webauthn_client.so
+%%SASLCLIENT%%lib/mysql/plugin/mysql_native_password.so
+libdata/pkgconfig/mysqlclient.pc
+share/aclocal/mysql.m4
diff --git a/databases/mysql94-server/Makefile b/databases/mysql94-server/Makefile
new file mode 100644
index 000000000000..c7a7b6626c3d
--- /dev/null
+++ b/databases/mysql94-server/Makefile
@@ -0,0 +1,182 @@
+PORTNAME?= mysql
+PORTVERSION= 9.4.0
+PORTREVISION?= 0
+CATEGORIES= databases
+MASTER_SITES= MYSQL/MySQL-9.4
+PKGNAMESUFFIX?= 94-server
+
+MAINTAINER= joneum@FreeBSD.org
+COMMENT?= Multithreaded SQL database (server)
+WWW= https://www.mysql.com/
+
+LICENSE= GPLv2
+
+# MySQL8.2+ supports only 64-bit platforms
+# Review list after 13.x EoL
+NOT_FOR_ARCHS= armv6 armv7 i386 powerpc
+
+USES= bison:build cmake:noninja cpe groff:run libedit localbase \
+ ncurses perl5 pkgconfig shebangfix ssl compiler:c++20-lang
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX}
+
+SLAVEDIRS= databases/mysql91-client
+
+CPE_VENDOR= oracle
+
+USE_CXXSTD= c++20
+USE_PERL5= run
+
+MY_DBDIR= /var/db/mysql
+MY_SECDIR= /var/db/mysql_secure
+MY_TMPDIR= /var/db/mysql_tmpdir
+
+LIB_DEPENDS+= libcurl.so:ftp/curl \
+ libicutu.so:devel/icu \
+ liblz4.so:archivers/liblz4 \
+ libhidapi.so:comms/hidapi \
+ libfido2.so:security/libfido2 \
+ ${LIB_DEPENDS_${ARCH}}
+LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind
+LIB_DEPENDS_amd64= libunwind.so:devel/libunwind
+LIB_DEPENDS_powerpc64= libunwind.so:devel/libunwind
+LIB_DEPENDS_powerpc64le= libunwind.so:devel/libunwind
+
+BUILD_DEPENDS= liblz4>0:archivers/liblz4 \
+ ${BUILD_DEPENDS_${ARCH}}
+BUILD_DEPENDS_aarch64= libunwind>0:devel/libunwind
+BUILD_DEPENDS_amd64= libunwind>0:devel/libunwind
+BUILD_DEPENDS_powerpc64= libunwind>0:devel/libunwind
+BUILD_DEPENDS_powerpc64le= libunwind>0:devel/libunwind
+
+CMAKE_BUILD_TYPE= Release
+CFLAGS+= -fPIC
+CFLAGS_aarch64?= -march=armv8-a+crc+crypto
+
+CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
+ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \
+ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \
+ -DINSTALL_DOCDIR="share/doc/mysql" \
+ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \
+ -DINSTALL_INCLUDEDIR="include/mysql" \
+ -DINSTALL_INFODIR="${INFO_PATH}" \
+ -DINSTALL_LIBDIR="lib/mysql" \
+ -DINSTALL_PRIV_LIBDIR="lib/mysql/private" \
+ -DINSTALL_MANDIR="share/man" \
+ -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \
+ -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \
+ -DINSTALL_MYSQLSHAREDIR="share/mysql" \
+ -DINSTALL_MYSQLTESTDIR="" \
+ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \
+ -DINSTALL_SBINDIR="libexec" \
+ -DINSTALL_SCRIPTDIR="bin" \
+ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \
+ -DINSTALL_SHAREDIR="share" \
+ -DINSTALL_SUPPORTFILESDIR="share/mysql" \
+ -DWITH_BOOST="${WRKSRC}/boost" \
+ -DWITH_SYSTEM_LIBS=1 \
+ -DWITH_EDITLINE=system \
+ -DWITH_LZ4=system \
+ -DWITH_ICU=system \
+ -DWITH_CURL=system \
+ -DWITH_ZSTD=bundled \
+ -DWITH_PROTOBUF=bundled \
+ -DWITH_SSL=system \
+ -DWITH_ZLIB=system \
+ -DWITH_LZ4=system
+
+SHEBANG_FILES= scripts/*.pl* scripts/*.sh
+
+.ifdef USE_MYSQL
+IGNORE= you have `USE_MYSQL' variable defined either in environment or in make(1) arguments, please undefine and try again
+.endif
+
+SUB_LIST= MY_DBDIR=${MY_DBDIR} \
+ MY_SECDIR=${MY_SECDIR} \
+ MY_TMPDIR=${MY_TMPDIR}
+
+PLIST_SUB= MY_DBDIR=${MY_DBDIR} \
+ MY_SECDIR=${MY_SECDIR} \
+ MY_TMPDIR=${MY_TMPDIR}
+
+# MySQL-Server part
+.if !defined(CLIENT_ONLY)
+USES+= mysql:94
+
+CONFLICTS_INSTALL= mysql*-server \
+ mysqlwsrep*-server \
+ mariadb*-server \
+ percona*-server
+
+USE_RC_SUBR= mysql-server
+
+SUB_FILES= my.cnf.sample pkg-message
+
+USERS= mysql
+GROUPS= mysql
+
+USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin
+
+MMAN1= ibd2sdi.1 innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1 \
+ myisamlog.1 myisampack.1 mysql_secure_installation.1 mysql_ssl_rsa_setup.1 \
+ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql.server.1 mysqldumpslow.1 mysqld_multi.1 \
+ mysqld_safe.1 mysqlrouter_passwd.1 mysqlrouter_plugin_info.1 mysqlrouter.1
+MMAN8= mysqld.8
+
+CMAKE_ARGS+= -DWITHOUT_CLIENTLIBS="ON"
+# Disable unit tests, it fails on !amd64 and <13.0 due to c++17 rules
+CMAKE_ARGS+= -DWITH_UNIT_TESTS="OFF"
+
+OPTIONS_GROUP= STORAGE
+OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
+OPTIONS_SUB= YES
+STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server)
+ARCHIVE_DESC= Compile "Archive Storage" statically in server
+BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server
+EXAMPLE_DESC= Compile "Example Storage" statically in server
+FEDERATED_DESC= Compile "Federated Storage" statically in server
+INNOBASE_DESC= Compile "InnoDB Storage" statically in server
+PARTITION_DESC= Compile "Partitioning support Storage" statically in server
+PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server
+
+ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1
+BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1
+FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1
+INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1
+PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1
+PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
+
+OPTIONS_GROUP+= FEATURES
+OPTIONS_GROUP_FEATURES= PERFSCHM
+FEATURES_DESC= Default features knobs
+PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage)
+OPTIONS_DEFAULT+= PERFSCHM
+
+PERFSCHM_SUB_LIST+= PERFSCHEMRC=""
+# todo, likely broken, see
+# https://dev.mysql.com/doc/refman/8.4/en/source-configuration-options.html
+PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema"
+FEDERATED_SUB_LIST+= FEDER="--federated"
+FEDERATED_SUB_LIST_OFF+= FEDER=""
+.endif
+
+.include <bsd.port.options.mk>
+
+CXXFLAGS+= -malign-double
+
+.include <bsd.port.pre.mk>
+
+post-extract:
+ @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h
+
+.if !defined(CLIENT_ONLY)
+post-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring
+ ${MKDIR} ${STAGEDIR}${MY_SECDIR}
+ ${MKDIR} ${STAGEDIR}${MY_TMPDIR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/databases/mysql94-server/distinfo b/databases/mysql94-server/distinfo
new file mode 100644
index 000000000000..df9066491835
--- /dev/null
+++ b/databases/mysql94-server/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1761403724
+SHA256 (mysql-9.4.0.tar.gz) = 6bb509c54e58b54abbefa49e296e7220f5e7cfe446914ba3615f594967cfa921
+SIZE (mysql-9.4.0.tar.gz) = 504551900
diff --git a/databases/mysql94-server/files/my.cnf.sample.in b/databases/mysql94-server/files/my.cnf.sample.in
new file mode 100644
index 000000000000..3d1264c1bd61
--- /dev/null
+++ b/databases/mysql94-server/files/my.cnf.sample.in
@@ -0,0 +1,57 @@
+[client]
+port = 3306
+socket = /tmp/mysql.sock
+
+[mysql]
+prompt = \u@\h [\d]>\_
+no_auto_rehash
+
+[mysqld]
+user = mysql
+port = 3306
+socket = /tmp/mysql.sock
+bind-address = 127.0.0.1
+basedir = %%PREFIX%%
+datadir = %%MY_DBDIR%%
+tmpdir = %%MY_TMPDIR%%
+replica-load-tmpdir = %%MY_TMPDIR%%
+secure-file-priv = %%MY_SECDIR%%
+log-bin = mysql-bin
+log-output = TABLE
+relay-log-recovery = 1
+slow-query-log = 1
+server-id = 1
+sync_binlog = 1
+sync_relay_log = 1
+binlog_cache_size = 16M
+binlog_expire_logs_seconds = 2592000
+default_password_lifetime = 0
+enforce-gtid-consistency = 1
+gtid-mode = ON
+safe-user-create = 1
+lower_case_table_names = 1
+explicit-defaults-for-timestamp = 1
+myisam-recover-options = BACKUP,FORCE
+open_files_limit = 32768
+table_open_cache = 16384
+table_definition_cache = 8192
+net_retry_count = 16384
+key_buffer_size = 256M
+max_allowed_packet = 64M
+long_query_time = 0.5
+innodb_buffer_pool_size = 1G
+innodb_data_home_dir = %%MY_DBDIR%%
+innodb_log_group_home_dir = %%MY_DBDIR%%
+innodb_data_file_path = ibdata1:128M:autoextend
+innodb_temp_data_file_path = ibtmp1:128M:autoextend
+innodb_flush_method = O_DIRECT
+innodb_redo_log_capacity = 512M
+innodb_log_buffer_size = 16M
+innodb_write_io_threads = 8
+innodb_read_io_threads = 8
+innodb_autoinc_lock_mode = 2
+
+[mysqldump]
+max_allowed_packet = 256M
+quote_names
+quick
diff --git a/databases/mysql94-server/files/mysql-server.in b/databases/mysql94-server/files/mysql-server.in
new file mode 100644
index 000000000000..c79874df9f2c
--- /dev/null
+++ b/databases/mysql94-server/files/mysql-server.in
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# PROVIDE: mysql
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable mysql:
+# mysql_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable MySQL.
+# mysql_dbdir (str): Default to "%%MY_DBDIR%%"
+# Base database directory.
+# mysql_confdir (str): Default to "%%ETCDIR%%"
+# Base configuration directory.
+# mysql_optfile (str): Server-specific option file.
+# Set it in the rc.conf or default behaviour of
+# `mysqld_safe` itself, will be picking
+# ${mysql_confdir}/my.cnf if it exists.
+# mysql_pidfile (str): Custom PID file path and name.
+# Default to "${mysql_dbdir}/${hostname}.pid".
+# mysql_args (str): Custom additional arguments to be passed
+# to mysqld_safe (default empty).
+#
+
+. /etc/rc.subr
+
+name="mysql"
+rcvar=mysql_enable
+
+load_rc_config $name
+
+: ${mysql_enable="NO"}
+: ${mysql_dbdir="%%MY_DBDIR%%"}
+: ${mysql_confdir="%%ETCDIR%%"}
+if [ -f "${mysql_confdir}/my.cnf" ]; then
+: ${mysql_optfile="${mysql_confdir}/my.cnf"}
+elif [ -f "${mysql_dbdir}/my.cnf" ]; then
+: ${mysql_optfile="${mysql_dbdir}/my.cnf"}
+fi
+if [ ! -z "${mysql_optfile}" ]; then
+mysql_extra="--defaults-extra-file=${mysql_optfile}"
+fi
+
+mysql_user="mysql"
+: ${hostname:=`/bin/hostname`}
+pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
+command="/usr/sbin/daemon"
+command_args="-c -f %%PREFIX%%/bin/mysqld_safe ${mysql_extra} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --pid-file=${pidfile} --user=${mysql_user} ${mysql_args} %%FEDER%% %%PERFSCHEMRC%%"
+procname="%%PREFIX%%/libexec/mysqld"
+start_precmd="${name}_prestart"
+start_postcmd="${name}_poststart"
+mysqld_init="${procname}"
+mysqld_init_args="${mysql_extra} --initialize-insecure --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --user=${mysql_user}"
+
+mysql_create_auth_tables()
+{
+ eval $mysqld_init $mysqld_init_args >/dev/null 2>/dev/null
+}
+
+mysql_prestart()
+{
+ if [ ! -d "${mysql_dbdir}/mysql/." ]; then
+ mysql_create_auth_tables || return 1
+ fi
+ return 0
+}
+
+mysql_poststart()
+{
+ local timeout=15
+ while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
+ timeout=$(( timeout - 1 ))
+ sleep 1
+ done
+ return 0
+}
+
+run_rc_command "$1"
diff --git a/databases/mysql94-server/files/patch-CMakeLists.txt b/databases/mysql94-server/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..513b43d45bfb
--- /dev/null
+++ b/databases/mysql94-server/files/patch-CMakeLists.txt
@@ -0,0 +1,80 @@
+--- CMakeLists.txt.orig 2024-09-24 11:37:21 UTC
++++ CMakeLists.txt
+@@ -1876,7 +1876,7 @@ IF(WITH_AUTHENTICATION_LDAP)
+ ENDIF()
+
+ IF(WITH_AUTHENTICATION_LDAP)
+- IF(LINUX AND KNOWN_CUSTOM_LIBRARIES)
++ IF(LINUX OR FREEBSD AND KNOWN_CUSTOM_LIBRARIES)
+ # LDAP / SASL / KERBEROS / SSL must all be "system" or "custom", not a mix.
+ IF(WITH_LDAP STREQUAL "system" OR
+ WITH_SASL STREQUAL "system" OR
+@@ -1927,6 +1927,7 @@ ENDIF()
+ ENDIF()
+ ENDIF()
+
++IF(NOT WITHOUT_TOOLS)
+ # Add system/bundled editline.
+ MYSQL_CHECK_EDITLINE()
+ SET(EDITLINE_WARN_GIVEN)
+@@ -1937,6 +1938,7 @@ ENDIF()
+ "You can use -DWITH_EDITLINE=bundled instead."
+ )
+ ENDIF()
++ENDIF(NOT WITHOUT_TOOLS)
+
+ # Add lz4 library
+ MYSQL_CHECK_LZ4()
+@@ -2239,7 +2241,9 @@ ADD_DEPENDENCIES(clang_tidy_prerequisites GenError)
+ ADD_DEPENDENCIES(clang_tidy_prerequisites protobuf_generated_all)
+ ADD_DEPENDENCIES(clang_tidy_prerequisites GenError)
+
+-ADD_SUBDIRECTORY(include)
++IF(NOT WITHOUT_CLIENTLIBS)
++ ADD_SUBDIRECTORY(include)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
+ ADD_SUBDIRECTORY(strings)
+ ADD_SUBDIRECTORY(vio)
+ ADD_SUBDIRECTORY(mysys)
+@@ -2289,12 +2293,15 @@ ENDIF()
+ ADD_SUBDIRECTORY(unittest/mytap/t)
+ ENDIF()
+
+-ADD_SUBDIRECTORY(client)
++IF(NOT WITHOUT_TOOLS)
++ ADD_SUBDIRECTORY(client)
++ENDIF(NOT WITHOUT_TOOLS)
++
+ ADD_SUBDIRECTORY(utilities)
+-ADD_SUBDIRECTORY(share)
+ ADD_SUBDIRECTORY(libservices)
+
+ IF(NOT WITHOUT_SERVER)
++ ADD_SUBDIRECTORY(share)
+ ADD_SUBDIRECTORY(testclients)
+ ADD_SUBDIRECTORY(sql)
+ ENDIF()
+@@ -2372,11 +2379,11 @@ ADD_SUBDIRECTORY(scripts)
+ # scripts/mysql_config depends on client and server targets loaded above.
+ # It is referenced by some of the directories below, so we insert it here.
+ ADD_SUBDIRECTORY(scripts)
++ADD_SUBDIRECTORY(support-files)
+
+ IF(NOT WITHOUT_SERVER)
+ ADD_SUBDIRECTORY(mysql-test)
+ ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
+- ADD_SUBDIRECTORY(support-files)
+ IF(WITH_INTERNAL)
+ ADD_SUBDIRECTORY(internal)
+ ENDIF()
+@@ -2403,8 +2410,10 @@ ENDIF()
+ INCLUDE(fastcov)
+ ENDIF()
+
++IF(FALSE)
+ IF(UNIX)
+ ADD_SUBDIRECTORY(man)
++ENDIF()
+ ENDIF()
+
+ IF(LINUX AND NOT WITHOUT_SERVER)
diff --git a/databases/mysql94-server/files/patch-client_CMakeLists.txt b/databases/mysql94-server/files/patch-client_CMakeLists.txt
new file mode 100644
index 000000000000..c72ed480c9a6
--- /dev/null
+++ b/databases/mysql94-server/files/patch-client_CMakeLists.txt
@@ -0,0 +1,62 @@
+--- client/CMakeLists.txt.orig 2025-10-25 17:10:08.871647000 +0200
++++ client/CMakeLists.txt 2025-10-25 17:28:15.270525000 +0200
+@@ -26,9 +26,12 @@ DISABLE_MISSING_PROFILE_WARNING()
+ # We are not interesting in profiling clients.
+ DISABLE_MISSING_PROFILE_WARNING()
+
++IF(WITHOUT_SERVER)
+ ## Subdirectory for mysql_migrate_keyring code.
+ ADD_SUBDIRECTORY(migrate_keyring)
++ENDIF()
+
++IF(WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysql
+ ${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc
+ completion_hash.cc
+@@ -42,7 +45,9 @@ MYSQL_ADD_EXECUTABLE(mysql
+ ${CMAKE_SOURCE_DIR}/sql-common/sql_string.cc
+ LINK_LIBRARIES mysqlclient ${EDITLINE_LIBRARY}
+ )
++ENDIF()
+
++IF(NOT WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysqltest
+ mysqltest.cc
+ mysqltest/error_names.cc
+@@ -59,9 +64,11 @@ MYSQL_ADD_EXECUTABLE(mysqltest
+ ENABLE_EXPORTS
+ LINK_LIBRARIES mysqlclient
+ )
++ENDIF()
+
+ DOWNGRADE_STRINGOP_WARNINGS(mysqltest)
+
++IF(WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysqlcheck
+ check/mysqlcheck.cc
+ check/mysqlcheck_core.cc
+@@ -289,7 +296,9 @@ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE
+
+ TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX)
+ TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql)
++ENDIF()
+
++IF(WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysqladmin
+ mysqladmin.cc
+ multi_factor_passwordopt-vars.cc
+@@ -304,10 +313,14 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
+ mysql_config_editor.cc
+ LINK_LIBRARIES mysqlclient
+ )
++ENDIF()
++
++IF(NOT WITHOUT_SERVER)
+ MYSQL_ADD_EXECUTABLE(mysql_secure_installation
+ mysql_secure_installation.cc
+ LINK_LIBRARIES mysqlclient
+ )
++ENDIF()
+
+ # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
+ IF(WIN32)
diff --git a/databases/mysql94-server/files/patch-cmake_install__layout.cmake b/databases/mysql94-server/files/patch-cmake_install__layout.cmake
new file mode 100644
index 000000000000..c7da17769e5e
--- /dev/null
+++ b/databases/mysql94-server/files/patch-cmake_install__layout.cmake
@@ -0,0 +1,95 @@
+--- cmake/install_layout.cmake.orig 2024-04-10 06:26:28 UTC
++++ cmake/install_layout.cmake
+@@ -42,6 +42,10 @@
+ # Build with prefix=/usr/local/mysql, create tarball with install prefix="."
+ # and relative links.
+ #
++# FREEBSD
++# Build with prefix=/usr/local, create tarball with install prefix="."
++# and relative links.
++#
+ # To force a directory layout, use -DINSTALL_LAYOUT=<layout>.
+ #
+ # The default is STANDALONE.
+@@ -81,7 +85,7 @@ SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
+ ENDIF()
+
+ SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
+- CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, RPM, DEB, SVR4"
++ CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, FREEBSD, RPM, DEB, SVR4"
+ )
+
+ IF(UNIX)
+@@ -99,7 +103,7 @@ IF(UNIX)
+ CACHE PATH "install prefix" FORCE)
+ ENDIF()
+ SET(VALID_INSTALL_LAYOUTS
+- "RPM" "DEB" "SVR4" "TARGZ" "STANDALONE")
++ "RPM" "DEB" "SVR4" "TARGZ" "FREEBSD" "STANDALONE")
+ LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
+ IF(ind EQUAL -1)
+ MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
+@@ -168,6 +172,32 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_fi
+ SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_file_priv_path})
+
+ #
++# FREEBSD layout
++#
++SET(INSTALL_BINDIR_FREEBSD "bin")
++SET(INSTALL_SBINDIR_FREEBSD "bin")
++#
++SET(INSTALL_LIBDIR_FREEBSD "lib")
++SET(INSTALL_PRIV_LIBDIR_FREEBSD "lib/private")
++SET(INSTALL_PLUGINDIR_FREEBSD "lib/plugin")
++#
++SET(INSTALL_INCLUDEDIR_FREEBSD "include")
++#
++SET(INSTALL_DOCDIR_FREEBSD "docs")
++SET(INSTALL_DOCREADMEDIR_FREEBSD ".")
++SET(INSTALL_MANDIR_FREEBSD "man")
++SET(INSTALL_INFODIR_FREEBSD "docs")
++#
++SET(INSTALL_SHAREDIR_FREEBSD "share")
++SET(INSTALL_MYSQLSHAREDIR_FREEBSD "share")
++SET(INSTALL_MYSQLTESTDIR_FREEBSD "mysql-test")
++SET(INSTALL_SUPPORTFILESDIR_FREEBSD "support-files")
++#
++SET(INSTALL_MYSQLDATADIR_FREEBSD "data")
++SET(INSTALL_MYSQLKEYRINGDIR_FREEBSD "keyring")
++SET(INSTALL_SECURE_FILE_PRIVDIR_FREEBSD ${secure_file_priv_path})
++
++#
+ # TARGZ layout
+ #
+ SET(INSTALL_BINDIR_TARGZ "bin")
+@@ -362,7 +392,7 @@ SET(ROUTER_INSTALL_LAYOUT "${DEFAULT_ROUTER_INSTALL_LA
+ SET(ROUTER_INSTALL_LAYOUT "${DEFAULT_ROUTER_INSTALL_LAYOUT}"
+ CACHE
+ STRING
+- "Installation directory layout. Options are: STANDALONE RPM DEB SVR4 TARGZ")
++ "Installation directory layout. Options are: STANDALONE FREEBSD RPM DEB SVR4 TARGZ")
+
+ # If we are shared STANDALONE with the the server, we shouldn't write
+ # into the server's data/ as that would create a "schemadir" in
+@@ -406,6 +436,21 @@ ENDFOREACH()
+ )
+ SET(ROUTER_INSTALL_${var}DIR_TARGZ ${ROUTER_INSTALL_${var}DIR_STANDALONE})
+ ENDFOREACH()
++
++#
++# FreeBSD layout
++#
++SET(ROUTER_INSTALL_CONFIGDIR_FREEBSD "/usr/local/etc/mysqlrouter")
++SET(ROUTER_INSTALL_DATADIR_FREEBSD "/var/db/mysqlrouter")
++SET(ROUTER_INSTALL_LOGDIR_FREEBSD "/var/log/mysqlrouter")
++SET(ROUTER_INSTALL_RUNTIMEDIR_FREEBSD "/var/run/mysqlrouter")
++
++SET(ROUTER_INSTALL_BINDIR_FREEBSD "bin")
++SET(ROUTER_INSTALL_LIBDIR_FREEBSD "lib/mysql")
++SET(ROUTER_INSTALL_PLUGINDIR_FREEBSD "lib/mysql/mysqlrouter")
++SET(ROUTER_INSTALL_LOGROTATEDIR_FREEBSD "etc/logrotate.d")
++SET(ROUTER_INSTALL_LOGROTATEFILE_FREEBSD "mysqlrouter")
++SET(ROUTER_INSTALL_DOCDIR_FREEBSD "share/mysqlrouter/docs")
+
+ FOREACH(var
+ LOGROTATE
diff --git a/databases/mysql94-server/files/patch-cmake_libutils.cmake b/databases/mysql94-server/files/patch-cmake_libutils.cmake
new file mode 100644
index 000000000000..a96fa8f41fb3
--- /dev/null
+++ b/databases/mysql94-server/files/patch-cmake_libutils.cmake
@@ -0,0 +1,22 @@
+--- cmake/libutils.cmake.orig 2024-06-03 11:39:00 UTC
++++ cmake/libutils.cmake
+@@ -384,9 +384,6 @@ MACRO(MERGE_LIBRARIES_SHARED TARGET_ARG)
+ ELSE()
+ SET(DESTINATION "${INSTALL_LIBDIR}")
+ ENDIF()
+- IF(ARG_NAMELINK_SKIP)
+- SET(INSTALL_ARGS NAMELINK_SKIP)
+- ENDIF()
+ MYSQL_INSTALL_TARGET(${TARGET} DESTINATION "${DESTINATION}" ${COMP}
+ ${INSTALL_ARGS})
+ ENDIF()
+@@ -642,9 +639,6 @@ FUNCTION(ADD_SHARED_LIBRARY TARGET_ARG)
+ SET(COMP COMPONENT ${ARG_COMPONENT})
+ ELSE()
+ SET(COMP COMPONENT SharedLibraries)
+- ENDIF()
+- IF(ARG_NAMELINK_SKIP)
+- SET(INSTALL_ARGS NAMELINK_SKIP)
+ ENDIF()
+ MYSQL_INSTALL_TARGET(${TARGET} DESTINATION "${DESTINATION}" ${COMP}
+ ${INSTALL_ARGS})
diff --git a/databases/mysql94-server/files/patch-cmake_os_DragonFly.cmake b/databases/mysql94-server/files/patch-cmake_os_DragonFly.cmake
new file mode 100644
index 000000000000..83c154ee3bcf
--- /dev/null
+++ b/databases/mysql94-server/files/patch-cmake_os_DragonFly.cmake
@@ -0,0 +1,27 @@
+--- cmake/os/DragonFly.cmake.orig 2016-04-14 10:16:17 UTC
++++ cmake/os/DragonFly.cmake
+@@ -0,0 +1,24 @@
++INCLUDE(CheckCSourceRuns)
++
++# We require at least GCC 4.4 or Clang 3.3.
++IF(NOT FORCE_UNSUPPORTED_COMPILER)
++ IF(CMAKE_COMPILER_IS_GNUCC)
++ EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
++ OUTPUT_VARIABLE GCC_VERSION)
++ IF(GCC_VERSION VERSION_LESS 4.4)
++ MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
++ ENDIF()
++ ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++ CHECK_C_SOURCE_RUNS("
++ int main()
++ {
++ return (__clang_major__ < 3) ||
++ (__clang_major__ == 3 && __clang_minor__ < 3);
++ }" HAVE_SUPPORTED_CLANG_VERSION)
++ IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
++ MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
++ ENDIF()
++ ELSE()
++ MESSAGE(FATAL_ERROR "Unsupported compiler!")
++ ENDIF()
++ENDIF()
diff --git a/databases/mysql94-server/files/patch-cmake_plugin.cmake b/databases/mysql94-server/files/patch-cmake_plugin.cmake
new file mode 100644
index 000000000000..19c48f038d4a
--- /dev/null
+++ b/databases/mysql94-server/files/patch-cmake_plugin.cmake
@@ -0,0 +1,27 @@
+--- cmake/plugin.cmake.orig 2024-04-10 06:26:28 UTC
++++ cmake/plugin.cmake
+@@ -274,15 +274,15 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg)
+
+ # For testing purposes, we need
+ # <...>/lib/plugin/debug/authentication_ldap_sasl_client.so
+- IF(ARG_CLIENT_ONLY)
+- INSTALL_DEBUG_TARGET(${target}
+- DESTINATION ${INSTALL_PLUGINDIR}/debug
+- COMPONENT Test)
+- ELSE()
+- INSTALL_DEBUG_TARGET(${target}
+- DESTINATION ${INSTALL_PLUGINDIR}/debug
+- COMPONENT ${INSTALL_COMPONENT})
+- ENDIF()
++# IF(ARG_CLIENT_ONLY)
++# INSTALL_DEBUG_TARGET(${target}
++# DESTINATION ${INSTALL_PLUGINDIR}/debug
++# COMPONENT Test)
++# ELSE()
++# INSTALL_DEBUG_TARGET(${target}
++# DESTINATION ${INSTALL_PLUGINDIR}/debug
++# COMPONENT ${INSTALL_COMPONENT})
++# ENDIF()
+ ENDIF()
+ ELSE()
+ IF(WITHOUT_${plugin})
diff --git a/databases/mysql94-server/files/patch-cmake_ssl.cmake b/databases/mysql94-server/files/patch-cmake_ssl.cmake
new file mode 100644
index 000000000000..41c725984ec3
--- /dev/null
+++ b/databases/mysql94-server/files/patch-cmake_ssl.cmake
@@ -0,0 +1,25 @@
+--- cmake/ssl.cmake.orig 2024-04-10 06:26:28 UTC
++++ cmake/ssl.cmake
+@@ -156,7 +156,7 @@ MACRO(FIND_OPENSSL_VERSION)
+ # Encoded as MNNFFPPS: major minor fix patch status
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
+ OPENSSL_VERSION_NUMBER
+- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
++ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
+ )
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+@@ -566,9 +566,10 @@ FUNCTION(MYSQL_CHECK_SSL)
+ ENDIF()
+
+ # TODO(tdidriks): move to config.h.cmake / my_config.h
+- IF("${OPENSSL_MAJOR_MINOR_FIX_VERSION}" VERSION_GREATER "1.1.0")
+- ADD_DEFINITIONS(-DHAVE_TLSv13)
+- ENDIF()
++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
++ IF(HAVE_TLS1_3_VERSION)
++ #ADD_DEFINITIONS(-DHAVE_TLSv13)
++ ENDIF()
+
+ GET_TARGET_PROPERTY(foo OpenSSL::SSL INTERFACE_INCLUDE_DIRECTORIES)
+ MESSAGE(STATUS "OPENSSL_INCLUDE_DIR = ${foo}")
diff --git a/databases/mysql94-server/files/patch-extra_abseil_abseil-cpp-20230802.1_absl_time_internal_cctz_src_time__zone__format.cc b/databases/mysql94-server/files/patch-extra_abseil_abseil-cpp-20230802.1_absl_time_internal_cctz_src_time__zone__format.cc
new file mode 100644
index 000000000000..0f46d1309196
--- /dev/null
+++ b/databases/mysql94-server/files/patch-extra_abseil_abseil-cpp-20230802.1_absl_time_internal_cctz_src_time__zone__format.cc
@@ -0,0 +1,20 @@
+--- extra/abseil/abseil-cpp-20230802.1/absl/time/internal/cctz/src/time_zone_format.cc.orig 2024-05-09 19:37:37 UTC
++++ extra/abseil/abseil-cpp-20230802.1/absl/time/internal/cctz/src/time_zone_format.cc
+@@ -13,7 +13,7 @@
+ // limitations under the License.
+
+ #if !defined(HAS_STRPTIME)
+-#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__VXWORKS__)
++#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__VXWORKS__) && !defined(__FreeBSD__)
+ #define HAS_STRPTIME 1 // Assume everyone else has strptime().
+ #endif
+ #endif
+@@ -648,7 +648,7 @@ const char* ParseTM(const char* dp, const char* fmt, s
+ // Parses a string into a std::tm using strptime(3).
+ const char* ParseTM(const char* dp, const char* fmt, std::tm* tm) {
+ if (dp != nullptr) {
+- dp = strptime(dp, fmt, tm);
++ dp = ::strptime(dp, fmt, tm);
+ }
+ return dp;
+ }
diff --git a/databases/mysql94-server/files/patch-include_my__compare.h b/databases/mysql94-server/files/patch-include_my__compare.h
new file mode 100644
index 000000000000..3f85d7b82acb
--- /dev/null
+++ b/databases/mysql94-server/files/patch-include_my__compare.h
@@ -0,0 +1,11 @@
+--- include/my_compare.h.orig 2024-04-10 06:26:28 UTC
++++ include/my_compare.h
+@@ -50,7 +50,7 @@
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+ */
+
+-#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define HA_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define HA_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24 + 6 + 6)
diff --git a/databases/mysql94-server/files/patch-include_my__stacktrace.h b/databases/mysql94-server/files/patch-include_my__stacktrace.h
new file mode 100644
index 000000000000..c9435e093fd5
--- /dev/null
+++ b/databases/mysql94-server/files/patch-include_my__stacktrace.h
@@ -0,0 +1,11 @@
+--- include/my_stacktrace.h.orig 2024-04-10 06:26:28 UTC
++++ include/my_stacktrace.h
+@@ -45,7 +45,7 @@
+ _WIN32 - Windows
+ HAVE_EXT_BACKTRACE - Unixes without backtrace(3)
+ */
+-#if defined(HAVE_BACKTRACE) || defined(_WIN32) || defined(HAVE_EXT_BACKTRACE)
++#if (defined(HAVE_BACKTRACE) && (defined(__aarch64__) || defined(__amd64__))) || defined(_WIN32) || defined(HAVE_EXT_BACKTRACE)
+ #define HAVE_STACKTRACE 1
+ void my_init_stacktrace();
+ void my_print_stacktrace(const uchar *stack_bottom, ulong thread_stack);
diff --git a/databases/mysql94-server/files/patch-include_my__thread__os__id.h b/databases/mysql94-server/files/patch-include_my__thread__os__id.h
new file mode 100644
index 000000000000..086e04f85457
--- /dev/null
+++ b/databases/mysql94-server/files/patch-include_my__thread__os__id.h
@@ -0,0 +1,15 @@
+--- include/my_thread_os_id.h.orig 2024-04-10 06:26:28 UTC
++++ include/my_thread_os_id.h
+@@ -85,8 +85,12 @@ static inline my_thread_os_id_t my_thread_os_id() {
+ return pthread_getthreadid_np();
+ #else
+ #ifdef HAVE_INTEGER_PTHREAD_SELF
++# ifdef __DragonFly__
++ return syscall(SYS_lwp_gettid);
++# else
+ /* Unknown platform, fallback. */
+ return pthread_self();
++# endif
+ #else
+ /* Feature not available. */
+ return 0;
diff --git a/databases/mysql94-server/files/patch-include_myisam.h b/databases/mysql94-server/files/patch-include_myisam.h
new file mode 100644
index 000000000000..540439461c6c
--- /dev/null
+++ b/databases/mysql94-server/files/patch-include_myisam.h
@@ -0,0 +1,11 @@
+--- include/myisam.h.orig 2024-04-10 06:26:28 UTC
++++ include/myisam.h
+@@ -60,7 +60,7 @@
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH 1000 /* Max length in bytes */
++#define MI_MAX_KEY_LENGTH 4000 /* Max length in bytes */
+ #define MI_MAX_KEY_SEG 16 /* Max segments for key */
+
+ #define MI_MAX_KEY_BUFF (MI_MAX_KEY_LENGTH + MI_MAX_KEY_SEG * 6 + 8 + 8)
diff --git a/databases/mysql94-server/files/patch-libmysql_CMakeLists.txt b/databases/mysql94-server/files/patch-libmysql_CMakeLists.txt
new file mode 100644
index 000000000000..aedf0137861a
--- /dev/null
+++ b/databases/mysql94-server/files/patch-libmysql_CMakeLists.txt
@@ -0,0 +1,64 @@
+--- libmysql/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC
++++ libmysql/CMakeLists.txt
+@@ -214,6 +214,11 @@ ENDIF()
+ ../sql-common/mysql_native_authentication_client.cc)
+ ENDIF()
+
++INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
++IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++ ADD_COMPILE_FLAGS(${CLIENT_SOURCES} COMPILE_FLAGS "-fPIC")
++ENDIF()
++
+ #
+ # Include protocol tracing infrastructure and the test
+ # trace plugin if enabled by build options.
+@@ -308,10 +313,18 @@ ADD_SUBDIRECTORY(fido_client)
+ ADD_SUBDIRECTORY(fido_client)
+
+ # Merge several convenience libraries into one big mysqlclient
++IF(WITHOUT_CLIENTLIBS)
+ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE}
+ COMPONENT Development
+ LINK_LIBRARIES ${LIBS_TO_LINK}
++ SKIP_INSTALL
+ )
++ELSE()
++MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE}
++ COMPONENT Development
++ LINK_LIBRARIES ${LIBS_TO_LINK}
++ )
++ENDIF()
+
+ # Visual Studio users need debug static library for debug projects
+ IF(MSVC)
+@@ -358,6 +371,7 @@ ENDIF()
+
+ # Merge several convenience libraries into one big mysqlclient
+ # and link them together into shared library.
++IF(WITHOUT_CLIENTLIBS)
+ MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
+ EXPORTS
+ ${CLIENT_API_FUNCTIONS}
+@@ -365,11 +379,21 @@ MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
+ ${CLIENT_API_NONBLOCKING_FUNCTIONS}
+ COMPONENT SharedLibraries
+ LINK_LIBRARIES ${LIBS_TO_LINK}
++ SKIP_INSTALL
++ )
++ELSE()
++MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
++ EXPORTS
++ ${CLIENT_API_FUNCTIONS}
++ ${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
++ ${CLIENT_API_NONBLOCKING_FUNCTIONS}
++ COMPONENT SharedLibraries
++ LINK_LIBRARIES ${LIBS_TO_LINK}
+ ${UNIX_OUTPUT_NAME}
+ ${UNIX_SOVERSION}
+ ${UNIX_VERSION}
+ )
+-
++ENDIF()
+ # Downgrade warning for strncat in my_crypt_genhash.
+ IF((WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO) AND MY_COMPILER_IS_GNU)
+ MY_TARGET_LINK_OPTIONS(libmysql "-Wno-error=stringop-truncation")
diff --git a/databases/mysql94-server/files/patch-libservices_CMakeLists.txt b/databases/mysql94-server/files/patch-libservices_CMakeLists.txt
new file mode 100644
index 000000000000..16968fab53f4
--- /dev/null
+++ b/databases/mysql94-server/files/patch-libservices_CMakeLists.txt
@@ -0,0 +1,12 @@
+--- libservices/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC
++++ libservices/CMakeLists.txt
+@@ -48,7 +48,9 @@ ADD_LIBRARY(mysqlservices STATIC ${MYSQLSERVICES_SOURC
+ plugin_registry_service.c)
+
+ ADD_LIBRARY(mysqlservices STATIC ${MYSQLSERVICES_SOURCES})
++IF(FALSE)
+ IF(INSTALL_STATIC_LIBRARIES)
+ INSTALL(TARGETS mysqlservices
+ DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
++ENDIF()
+ ENDIF()
diff --git a/databases/mysql94-server/files/patch-man_CMakeLists.txt b/databases/mysql94-server/files/patch-man_CMakeLists.txt
new file mode 100644
index 000000000000..5131ef284286
--- /dev/null
+++ b/databases/mysql94-server/files/patch-man_CMakeLists.txt
@@ -0,0 +1,71 @@
+--- man/CMakeLists.txt.orig 2024-06-03 11:39:00 UTC
++++ man/CMakeLists.txt
+@@ -24,13 +24,6 @@ SET(MAN1
+ # Copy man pages
+ SET(MAN1
+ comp_err.1
+- ibd2sdi.1
+- innochecksum.1
+- my_print_defaults.1
+- myisam_ftdump.1
+- myisamchk.1
+- myisamlog.1
+- myisampack.1
+ mysql.1
+ mysql_config.1
+ mysql_config_editor.1
+@@ -40,7 +33,6 @@ SET(MAN1
+ mysqlbinlog.1
+ mysqlcheck.1
+ mysqldump.1
+- mysqldumpslow.1
+ mysqlimport.1
+ mysqlman.1
+ mysqlshow.1
+@@ -48,13 +40,23 @@ SET(MAN1
+ perror.1
+ )
+
+-IF(NOT WITH_SYSTEMD)
+- LIST(APPEND MAN1
+- mysql.server.1
+- mysqld_multi.1
+- mysqld_safe.1
++SET(MAN1_TOOLS
++ ibd2sdi.1
++ innochecksum.1
++ my_print_defaults.1
++ myisam_ftdump.1
++ myisamchk.1
++ myisamlog.1
++ myisampack.1
++ mysql.server.1
++ mysql_secure_installation.1
++ mysql_ssl_rsa_setup.1
++ mysql_tzinfo_to_sql.1
++ mysql_upgrade.1
++ mysqldumpslow.1
++ mysqld_multi.1
++ mysqld_safe.1
+ )
+-ENDIF()
+
+ SET(MAN1_NDB
+ ndb_blob_tool.1
+@@ -102,8 +104,14 @@ SET(MAN8_NDB
+ ndbmtd.8
+ )
+
+-INSTALL(FILES ${MAN1} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages)
+-INSTALL(FILES ${MAN8} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages)
++IF(NOT WITHOUT_CLIENTLIBS)
++ INSTALL(FILES ${MAN1} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages)
++ENDIF()
++
++IF(NOT WITHOUT_SERVER)
++ INSTALL(FILES ${MAN1_TOOLS} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages)
++ INSTALL(FILES ${MAN8} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages)
++ENDIF()
+
+ IF(WITH_ROUTER)
+ INSTALL(FILES ${MAN1_ROUTER}
diff --git a/databases/mysql94-server/files/patch-mysys_my__default.cc b/databases/mysql94-server/files/patch-mysys_my__default.cc
new file mode 100644
index 000000000000..3ab4649e0467
--- /dev/null
+++ b/databases/mysql94-server/files/patch-mysys_my__default.cc
@@ -0,0 +1,62 @@
+--- mysys/my_default.cc.orig 2024-04-10 06:26:28 UTC
++++ mysys/my_default.cc
+@@ -209,7 +209,7 @@ bool no_defaults = false;
+
+ /* Which directories are searched for options (and in which order) */
+
+-#define MAX_DEFAULT_DIRS 6
++#define MAX_DEFAULT_DIRS 7
+ #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
+ static const char **default_directories = nullptr;
+
+@@ -962,6 +962,14 @@ static int search_default_file_with_ext(Process_option
+ return 1; /* Ignore wrong files */
+ }
+
++ if (strstr(name, "/etc") == name)
++ {
++ fprintf(stderr,
++ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
++ name,name);
++ goto err;
++ }
++
+ while (true) {
+ auto fileline = mysql_file_getline(buff, sizeof(buff), fp, is_login_file);
+ char *linebuff = fileline.get();
+@@ -1351,7 +1359,8 @@ void my_print_default_files(const char *conf_file) {
+ end[(strlen(end) - 1)] = ' ';
+ else
+ strxmov(end, conf_file, *ext, " ", NullS);
+- fputs(name, stdout);
++ if (strstr(name, "/etc") != name)
++ fputs(name, stdout);
+ }
+ }
+ }
+@@ -1693,14 +1702,9 @@ static const char **init_default_directories(MEM_ROOT
+
+ #else
+
+- errors += add_directory(alloc, "/etc/", dirs);
+- errors += add_directory(alloc, "/etc/mysql/", dirs);
++ errors += add_directory(alloc, "/usr/local/etc/", dirs);
++ errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs);
+
+-#if defined(DEFAULT_SYSCONFDIR)
+- if (DEFAULT_SYSCONFDIR[0])
+- errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
+-#endif /* DEFAULT_SYSCONFDIR */
+-
+ #endif
+
+ if ((env = getenv("MYSQL_HOME"))) errors += add_directory(alloc, env, dirs);
+@@ -1765,7 +1769,7 @@ int check_file_permissions(const char *file_name, bool
+ #if !defined(_WIN32)
+ MY_STAT stat_info;
+
+- if (!my_stat(file_name, &stat_info, flags)) return 1;
++ if (!my_stat(file_name, &stat_info, flags)) return 0;
+ /*
+ Ignore .mylogin.cnf file if not exclusively readable/writable
+ by current user.
diff --git a/databases/mysql94-server/files/patch-mysys_my__kdf.cc b/databases/mysql94-server/files/patch-mysys_my__kdf.cc
new file mode 100644
index 000000000000..c316de281c26
--- /dev/null
+++ b/databases/mysql94-server/files/patch-mysys_my__kdf.cc
@@ -0,0 +1,20 @@
+--- mysys/my_kdf.cc.orig 2024-04-10 06:26:28 UTC
++++ mysys/my_kdf.cc
+@@ -57,7 +57,7 @@ int create_kdf_key(const unsigned char *key, const uns
+ std::unique_ptr<Key_derivation_function> kdf_function;
+
+ if (kdf_name == "hkdf") {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ kdf_function = std::make_unique<Key_hkdf_function>(kdf_options);
+ #else
+ return 1;
+@@ -72,7 +72,7 @@ int create_kdf_key(const unsigned char *key, const uns
+ return kdf_function->derive_key(key, key_length, rkey, rkey_size);
+ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ Key_hkdf_function::Key_hkdf_function(vector<string> *kdf_options) {
+ kdf_options_ = {kdf_options};
+ }
diff --git a/databases/mysql94-server/files/patch-plugin_password__validation_validate__password.cc b/databases/mysql94-server/files/patch-plugin_password__validation_validate__password.cc
new file mode 100644
index 000000000000..7c4c9748c1be
--- /dev/null
+++ b/databases/mysql94-server/files/patch-plugin_password__validation_validate__password.cc
@@ -0,0 +1,11 @@
+--- plugin/password_validation/validate_password.cc.orig 2025-10-25 22:02:46.860837000 +0200
++++ plugin/password_validation/validate_password.cc 2025-10-25 22:06:50.601189000 +0200
+@@ -26,6 +26,8 @@
+ #include <mysql/plugin_validate_password.h>
+ #include <mysql/service_my_plugin_log.h>
+ #include <mysql/service_mysql_string.h>
++/* solve clash between libc++ bitset::test() and test macro from my_global.h */
++#undef test
+ #include <sys/types.h>
+ #include <algorithm> // std::swap
+ #include <cstdio>
diff --git a/databases/mysql94-server/files/patch-plugin_x_CMakeLists.txt b/databases/mysql94-server/files/patch-plugin_x_CMakeLists.txt
new file mode 100644
index 000000000000..e9337bfaff87
--- /dev/null
+++ b/databases/mysql94-server/files/patch-plugin_x_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- plugin/x/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC
++++ plugin/x/CMakeLists.txt
+@@ -75,6 +75,8 @@ INCLUDE_DIRECTORIES(
+ ${MYSQLX_GENERATE_DIR}
+ ${MYSQLX_PROTOCOL_INCLUDE_DIR}
+ ${MYSQLX_CLIENT_INCLUDE_DIR}
++ ${OPENSSL_INCLUDE_DIR}
++ ${BOOST_INCLUDE_DIR}
+ )
+
+ ADD_COMPILE_FLAGS(${XPLUGIN_SRC}
diff --git a/databases/mysql94-server/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc b/databases/mysql94-server/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc
new file mode 100644
index 000000000000..e279ad846196
--- /dev/null
+++ b/databases/mysql94-server/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc
@@ -0,0 +1,11 @@
+--- plugin/x/client/authentication/sha256_scramble_generator.cc.orig 2024-04-10 06:26:28 UTC
++++ plugin/x/client/authentication/sha256_scramble_generator.cc
+@@ -98,7 +98,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig
+ return true;
+ }
+ m_ok = EVP_DigestFinal_ex(md_context, m_digest, nullptr);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_MD_CTX_cleanup(md_context);
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ EVP_MD_CTX_reset(md_context);
diff --git a/databases/mysql94-server/files/patch-plugin_x_configure.cmake b/databases/mysql94-server/files/patch-plugin_x_configure.cmake
new file mode 100644
index 000000000000..bf593103b5b1
--- /dev/null
+++ b/databases/mysql94-server/files/patch-plugin_x_configure.cmake
@@ -0,0 +1,15 @@
+--- plugin/x/configure.cmake.orig 2024-04-10 06:26:28 UTC
++++ plugin/x/configure.cmake
+@@ -46,6 +46,7 @@ CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/config/mysqlx
+ CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/config/mysqlx_version.h.in
+ ${MYSQLX_GENERATE_DIR}/mysqlx_version.h )
+
++IF(FALSE)
+ INSTALL(FILES ${MYSQLX_GENERATE_DIR}/mysqlx_error.h
+ DESTINATION ${INSTALL_INCLUDEDIR}
+ COMPONENT Development)
+@@ -57,3 +58,4 @@ INSTALL(FILES ${MYSQLX_GENERATE_DIR}/mysqlx_version.h
+ INSTALL(FILES ${MYSQLX_GENERATE_DIR}/mysqlx_version.h
+ DESTINATION ${INSTALL_INCLUDEDIR}
+ COMPONENT Development)
++ENDIF()
diff --git a/databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h b/databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h
new file mode 100644
index 000000000000..6414b45c32b0
--- /dev/null
+++ b/databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h
@@ -0,0 +1,13 @@
+--- router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h.orig 2024-04-10 06:26:28 UTC
++++ router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h
+@@ -189,8 +189,8 @@ class kqueue_io_service : public IoServiceBase {
+ auto secs = std::chrono::duration_cast<std::chrono::seconds>(timeout);
+ timeout -= secs;
+
+- ts = {secs.count(),
+- std::chrono::duration_cast<std::chrono::nanoseconds>(timeout)
++ ts = {(time_t)secs.count(),
++ (long)std::chrono::duration_cast<std::chrono::nanoseconds>(timeout)
+ .count()};
+
+ p_ts = &ts;
diff --git a/databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h b/databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h
new file mode 100644
index 000000000000..c793fe7b022d
--- /dev/null
+++ b/databases/mysql94-server/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h
@@ -0,0 +1,10 @@
+--- router/src/harness/include/mysql/harness/net_ts/internet.h.orig 2024-04-10 06:26:28 UTC
++++ router/src/harness/include/mysql/harness/net_ts/internet.h
+@@ -45,6 +45,7 @@
+ #include <arpa/inet.h> // inet_ntop
+ #include <netdb.h> // getaddrinfo
+ #include <netinet/in.h> // in_addr_t
++#include <sys/types.h> // u_int32_t
+ #include <netinet/ip6.h> // in6_addr_t
+ #include <netinet/tcp.h> // TCP_NODELAY
+ #include <sys/ioctl.h> // ioctl
diff --git a/databases/mysql94-server/files/patch-router_src_harness_src_tls__client__context.cc b/databases/mysql94-server/files/patch-router_src_harness_src_tls__client__context.cc
new file mode 100644
index 000000000000..5cd410e2e748
--- /dev/null
+++ b/databases/mysql94-server/files/patch-router_src_harness_src_tls__client__context.cc
@@ -0,0 +1,11 @@
+--- router/src/harness/src/tls_client_context.cc.orig 2024-04-10 06:26:28 UTC
++++ router/src/harness/src/tls_client_context.cc
+@@ -104,7 +104,7 @@ stdx::expected<void, std::error_code> TlsClientContext
+ stdx::expected<void, std::error_code> TlsClientContext::cipher_suites(
+ const std::string &ciphers) {
+ // TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
++#ifdef TLS1_3_VERSION
+ if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
+ return stdx::unexpected(make_tls_error());
+ }
diff --git a/databases/mysql94-server/files/patch-router_src_harness_src_tls__context.cc b/databases/mysql94-server/files/patch-router_src_harness_src_tls__context.cc
new file mode 100644
index 000000000000..8a03c53ddbbd
--- /dev/null
+++ b/databases/mysql94-server/files/patch-router_src_harness_src_tls__context.cc
@@ -0,0 +1,44 @@
+--- router/src/harness/src/tls_context.cc.orig 2024-04-10 06:26:28 UTC
++++ router/src/harness/src/tls_context.cc
+@@ -277,7 +277,7 @@ static int o11x_version(TlsVersion version) {
+ return TLS1_1_VERSION;
+ case TlsVersion::TLS_1_2:
+ return TLS1_2_VERSION;
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
++#ifdef TLS1_3_VERSION
+ case TlsVersion::TLS_1_3:
+ return TLS1_3_VERSION;
+ #endif
+@@ -308,9 +308,11 @@ stdx::expected<void, std::error_code> TlsContext::vers
+ default:
+ // unknown, leave all disabled
+ [[fallthrough]];
++#ifdef TLS1_3_VERSION
+ case TlsVersion::TLS_1_3:
+ opts |= SSL_OP_NO_TLSv1_2;
+ [[fallthrough]];
++#endif
+ case TlsVersion::TLS_1_2:
+ opts |= SSL_OP_NO_TLSv1_1;
+ [[fallthrough]];
+@@ -358,8 +360,10 @@ TlsVersion TlsContext::min_version() const {
+ return TlsVersion::TLS_1_1;
+ case TLS1_2_VERSION:
+ return TlsVersion::TLS_1_2;
++#ifdef TLS1_3_VERSION
+ case TLS1_3_VERSION:
+ return TlsVersion::TLS_1_3;
++#endif
+ case 0:
+ return TlsVersion::AUTO;
+ default:
+@@ -513,7 +517,8 @@ int TlsContext::security_level() const {
+ }
+
+ int TlsContext::security_level() const {
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
++ !defined(LIBRESSL_VERSION_NUMBER)
+ return SSL_CTX_get_security_level(ssl_ctx_.get());
+ #else
+ return 0;
diff --git a/databases/mysql94-server/files/patch-scripts_CMakeLists.txt b/databases/mysql94-server/files/patch-scripts_CMakeLists.txt
new file mode 100644
index 000000000000..9900330982dc
--- /dev/null
+++ b/databases/mysql94-server/files/patch-scripts_CMakeLists.txt
@@ -0,0 +1,52 @@
+--- scripts/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC
++++ scripts/CMakeLists.txt
+@@ -411,6 +411,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
+ SET(${var} "${${var}}-L${dir} " )
+ ENDIF()
+ SET(${var} "${${var}}-l${lib} " )
++ ELSEIF(lib STREQUAL "-pthread")
++ SET(${var} "${${var}}-pthread " )
+ ELSE()
+ SET(${var} "${${var}}-l${lib} " )
+ ENDIF()
+@@ -484,7 +486,7 @@ ELSE()
+ ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
+ ESCAPE_QUOTES @ONLY)
+
+- IF(INSTALL_PKGCONFIGDIR)
++ IF(INSTALL_PKGCONFIGDIR AND NOT WITHOUT_CLIENTLIBS)
+ MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}")
+ INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
+@@ -497,23 +499,28 @@ ELSE()
+ # mysqld_safe used in mtr even for systemd platforms
+ IF(WITH_SYSTEMD)
+ SET(BIN_SCRIPTS
+- mysql_config
+ mysqldumpslow
+ mysqld_safe
+ )
+ ELSE()
+ SET(BIN_SCRIPTS
+- mysql_config
+ mysqldumpslow
+ mysqld_multi
+ mysqld_safe
+ )
+ ENDIF()
+
++ IF(NOT WITHOUT_CLIENTLIBS)
++ SET(BIN_SCRIPTS
++ ${BIN_SCRIPTS}
++ mysql_config
++ )
++ ENDIF(NOT WITHOUT_CLIENTLIBS)
++
+ FOREACH(file ${BIN_SCRIPTS})
+ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
+- ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY
++ ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY
+ )
+ ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in
diff --git a/databases/mysql94-server/files/patch-scripts_mysqld__safe.sh b/databases/mysql94-server/files/patch-scripts_mysqld__safe.sh
new file mode 100644
index 000000000000..47bc81e3963b
--- /dev/null
+++ b/databases/mysql94-server/files/patch-scripts_mysqld__safe.sh
@@ -0,0 +1,19 @@
+--- scripts/mysqld_safe.sh.orig 2022-01-23 11:48:36 UTC
++++ scripts/mysqld_safe.sh
+@@ -360,7 +360,7 @@ mysqld_ld_preload_text() {
+ # running mysqld. See ld.so for details.
+ set_malloc_lib() {
+ # This list is kept intentionally simple.
+- malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu"
++ malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu /usr/local/lib"
+ malloc_lib="$1"
+
+ # Allow --malloc-lib='' to override other settings
+@@ -379,6 +379,7 @@ set_malloc_lib() {
+ /usr/lib64) ;;
+ /usr/lib/i386-linux-gnu) ;;
+ /usr/lib/x86_64-linux-gnu) ;;
++ /usr/local/lib) ;;
+ *)
+ log_error "--malloc-lib must be located in one of the directories: $malloc_dirs"
+ exit 1
diff --git a/databases/mysql94-server/files/patch-sql_auth_sha2__password__common.cc b/databases/mysql94-server/files/patch-sql_auth_sha2__password__common.cc
new file mode 100644
index 000000000000..58ee2f44c3a6
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_auth_sha2__password__common.cc
@@ -0,0 +1,11 @@
+--- sql/auth/sha2_password_common.cc.orig 2024-04-10 06:26:28 UTC
++++ sql/auth/sha2_password_common.cc
+@@ -102,7 +102,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig
+ return true;
+ }
+ m_ok = EVP_DigestFinal_ex(md_context, m_digest, nullptr);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_MD_CTX_cleanup(md_context);
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ EVP_MD_CTX_reset(md_context);
diff --git a/databases/mysql94-server/files/patch-sql_auth_sql__authorization.cc b/databases/mysql94-server/files/patch-sql_auth_sql__authorization.cc
new file mode 100644
index 000000000000..17a8d3d0ba71
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_auth_sql__authorization.cc
@@ -0,0 +1,13 @@
+--- sql/auth/sql_authorization.cc.orig 2024-04-10 06:26:28 UTC
++++ sql/auth/sql_authorization.cc
+@@ -237,6 +237,10 @@ bool operator==(const Role_id &a, const std::string &b
+ return tmp == b;
+ }
+
++bool operator==(const Role_id &a, const LEX_CSTRING &b) {
++ return a == to_string(b);
++}
++
+ bool operator==(const std::pair<Role_id, bool> &a, const std::string &b) {
+ return a.first == b;
+ }
diff --git a/databases/mysql94-server/files/patch-sql_binlog__ostream.cc b/databases/mysql94-server/files/patch-sql_binlog__ostream.cc
new file mode 100644
index 000000000000..1bcf252da064
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_binlog__ostream.cc
@@ -0,0 +1,11 @@
+--- sql/binlog_ostream.cc.orig 2024-07-12 19:20:22 UTC
++++ sql/binlog_ostream.cc
+@@ -240,7 +240,7 @@ bool IO_CACHE_binlog_cache_storage::setup_ciphers_pass
+
+ /* Generate password, it is a random string. */
+ if (my_rand_buffer(password, sizeof(password))) return true;
+- password_str.append(password, sizeof(password));
++ password_str.insert(password_str.end(), password, password + sizeof(password));
+
+ m_io_cache.m_encryptor->close();
+ m_io_cache.m_decryptor->close();
diff --git a/databases/mysql94-server/files/patch-sql_conn__handler_socket__connection.cc b/databases/mysql94-server/files/patch-sql_conn__handler_socket__connection.cc
new file mode 100644
index 000000000000..38341a4c6902
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_conn__handler_socket__connection.cc
@@ -0,0 +1,32 @@
+--- sql/conn_handler/socket_connection.cc.orig 2024-04-10 06:26:28 UTC
++++ sql/conn_handler/socket_connection.cc
+@@ -961,9 +961,11 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC
+ signal(SIGCHLD, SIG_DFL);
+ request_init(&req, RQ_DAEMON, libwrap_name, RQ_FILE,
+ mysql_socket_getfd(connect_sock), nullptr);
+- fromhost(&req);
++ void (*my_fromhost) (void *) = (void (*)(void *)) fromhost;
++ my_fromhost(&req);
+
+- if (!hosts_access(&req)) {
++ int (*my_hosts_access) (void *) = (int (*) (void *)) hosts_access;
++ if (!my_hosts_access(&req)) {
+ /*
+ This may be stupid but refuse() includes an exit(0)
+ which we surely don't want...
+@@ -975,12 +977,13 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC
+ This is unproblematic as TCP-wrapper is unix specific,
+ anyway.
+ */
++ char *(*my_eval_client) (void *) = (char *(*) (void *)) eval_client;
+ syslog(LOG_AUTH | LOG_WARNING, "refused connect from %s",
+- eval_client(&req));
++ my_eval_client(&req));
+
+ #ifdef HAVE_LIBWRAP_PROTOTYPES
+ // Some distros have patched tcpd.h to have proper prototypes
+- if (req.sink) (req.sink)(req.fd);
++ if (req.sink) ((void (*)(int)) (req.sink))(req.fd);
+ #else
+ // Some distros have not patched tcpd.h
+ if (req.sink) ((void (*)(int))req.sink)(req.fd);
diff --git a/databases/mysql94-server/files/patch-sql_mdl__context__backup.cc b/databases/mysql94-server/files/patch-sql_mdl__context__backup.cc
new file mode 100644
index 000000000000..4cf419d722bc
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_mdl__context__backup.cc
@@ -0,0 +1,36 @@
+--- sql/mdl_context_backup.cc.orig 2024-07-12 19:20:22 UTC
++++ sql/mdl_context_backup.cc
+@@ -160,7 +160,7 @@ bool MDL_context_backup_manager::create_backup(const M
+ DBUG_TRACE;
+
+ try {
+- MDL_context_backup_key key_obj(key, keylen);
++ MDL_context_backup_key key_obj(key, key + keylen);
+
+ /*
+ Since this method is called as part of THD cleaning up, every XA
+@@ -193,7 +193,7 @@ bool MDL_context_backup_manager::create_backup(MDL_req
+
+ bool result = false;
+ try {
+- MDL_context_backup_key key_obj(key, keylen);
++ MDL_context_backup_key key_obj(key, key + keylen);
+ /*
+ Check for presence a record with specified key in the collection of
+ MDL_context_backup elements. It is ok to already have a record with
+@@ -239,7 +239,7 @@ bool MDL_context_backup_manager::restore_backup(MDL_co
+
+ MUTEX_LOCK(guard, &m_LOCK_mdl_context_backup);
+
+- auto result = m_backup_map.find(MDL_context_backup_key(key, keylen));
++ auto result = m_backup_map.find(MDL_context_backup_key(key, key + keylen));
+ if (result != m_backup_map.end()) {
+ element = result->second.get();
+ res = mdl_context->clone_tickets(element->get_context(), MDL_TRANSACTION);
+@@ -252,5 +252,5 @@ void MDL_context_backup_manager::delete_backup(const u
+ const size_t keylen) {
+ DBUG_TRACE;
+ MUTEX_LOCK(guard, &m_LOCK_mdl_context_backup);
+- m_backup_map.erase(MDL_context_backup_key(key, keylen));
++ m_backup_map.erase(MDL_context_backup_key(key, key + keylen));
+ }
diff --git a/databases/mysql94-server/files/patch-sql_mysqld.cc b/databases/mysql94-server/files/patch-sql_mysqld.cc
new file mode 100644
index 000000000000..ee83e9bcd358
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_mysqld.cc
@@ -0,0 +1,11 @@
+--- sql/mysqld.cc.orig 2024-04-10 06:26:28 UTC
++++ sql/mysqld.cc
+@@ -7000,7 +7000,7 @@ static PSI_memory_key key_memory_openssl = PSI_NOT_INS
+
+ static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ #define FILE_LINE_ARGS
+ #else
+ #define FILE_LINE_ARGS , const char *, int
diff --git a/databases/mysql94-server/files/patch-sql_rpl__log__encryption.cc b/databases/mysql94-server/files/patch-sql_rpl__log__encryption.cc
new file mode 100644
index 000000000000..d6e739009958
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_rpl__log__encryption.cc
@@ -0,0 +1,134 @@
+--- sql/rpl_log_encryption.cc.orig 2024-07-12 19:20:22 UTC
++++ sql/rpl_log_encryption.cc
+@@ -213,7 +213,7 @@ bool Rpl_encryption::recover_master_key() {
+ Rpl_encryption_header::seqno_to_key_id(m_master_key_seqno);
+ auto master_key =
+ get_key(m_master_key.m_id, Rpl_encryption_header::get_key_type());
+- m_master_key.m_value.assign(master_key.second);
++ m_master_key.m_value = master_key.second;
+ /* No keyring error */
+ if (master_key.first == Keyring_status::KEYRING_ERROR_FETCHING) goto err1;
+ }
+@@ -290,7 +290,7 @@ bool Rpl_encryption::recover_master_key() {
+
+ if (new_master_key.first == Keyring_status::SUCCESS) {
+ m_master_key.m_id = new_master_key_id;
+- m_master_key.m_value.assign(new_master_key.second);
++ m_master_key.m_value = new_master_key.second;
+ if (new_master_key_seqno.second > m_master_key_seqno &&
+ new_master_key_seqno.second > old_master_key_seqno.second) {
+ if (m_master_key_seqno > 0) {
+@@ -380,8 +380,8 @@ std::pair<Rpl_encryption::Keyring_status, Key_string>
+ reinterpret_cast<unsigned char *>(std::get<1>(tuple));
+ first[0] = ~(first[0]);
+ });
+- key_str.append(reinterpret_cast<unsigned char *>(std::get<1>(tuple)),
+- std::get<2>(tuple));
++ auto *first = reinterpret_cast<unsigned char *>(std::get<1>(tuple));
++ key_str.insert(key_str.end(), first, first + std::get<2>(tuple));
+ my_free(std::get<1>(tuple));
+ }
+
+@@ -396,7 +396,7 @@ std::pair<Rpl_encryption::Keyring_status, Key_string>
+ if (pair.first == Keyring_status::SUCCESS) {
+ DBUG_EXECUTE_IF("corrupt_replication_encryption_key_size",
+ { pair.second.resize(key_size / 2); });
+- if (pair.second.length() != key_size)
++ if (pair.second.size() != key_size)
+ pair.first = Keyring_status::UNEXPECTED_KEY_SIZE;
+ }
+ return pair;
+@@ -743,7 +743,7 @@ Rpl_encryption::get_seqno_from_keyring(std::string key
+ auto fetched_key = get_key(key_id, SEQNO_KEY_TYPE, SEQNO_KEY_LENGTH);
+ uint32_t seqno = 0;
+ if (fetched_key.first == Keyring_status::SUCCESS) {
+- const void *key = fetched_key.second.c_str();
++ const void *key = fetched_key.second.data();
+ memcpy(&seqno, key, sizeof(seqno));
+ seqno = le32toh(seqno);
+ }
+@@ -948,7 +948,7 @@ bool Rpl_encryption::generate_master_key_on_keyring(ui
+
+ /* Store the generated key as the new master key */
+ m_master_key.m_id = key_id;
+- m_master_key.m_value.assign(pair.second);
++ m_master_key.m_value = pair.second;
+
+ return false;
+ }
+@@ -1051,12 +1051,12 @@ bool Rpl_encryption_header_v1::serialize(Basic_ostream
+
+ assert(m_encrypted_password.length() == PASSWORD_FIELD_SIZE);
+ *ptr++ = ENCRYPTED_FILE_PASSWORD;
+- memcpy(ptr, m_encrypted_password.data(), m_encrypted_password.length());
++ memcpy(ptr, m_encrypted_password.data(), m_encrypted_password.size());
+ ptr += PASSWORD_FIELD_SIZE;
+
+ assert(m_iv.length() == IV_FIELD_SIZE);
+ *ptr++ = IV_FOR_FILE_PASSWORD;
+- memcpy(ptr, m_iv.data(), m_iv.length());
++ memcpy(ptr, m_iv.data(), m_iv.size());
+
+ bool res = DBUG_EVALUATE_IF("fail_to_serialize_encryption_header", true,
+ ostream->write(header, HEADER_SIZE));
+@@ -1111,13 +1111,13 @@ bool Rpl_encryption_header_v1::deserialize(Basic_istre
+ reinterpret_cast<const unsigned char *>(
+ reader.ptr(PASSWORD_FIELD_SIZE));
+ if (!reader.has_error())
+- m_encrypted_password.assign(password_ptr, PASSWORD_FIELD_SIZE);
++ m_encrypted_password.assign(password_ptr, password_ptr + PASSWORD_FIELD_SIZE);
+ break;
+ }
+ case IV_FOR_FILE_PASSWORD: {
+ const unsigned char *iv_ptr =
+ reinterpret_cast<const unsigned char *>(reader.ptr(IV_FIELD_SIZE));
+- if (!reader.has_error()) m_iv.assign(iv_ptr, IV_FIELD_SIZE);
++ if (!reader.has_error()) m_iv.assign(iv_ptr, iv_ptr + IV_FIELD_SIZE);
+ break;
+ }
+ default:
+@@ -1177,11 +1177,11 @@ Key_string Rpl_encryption_header_v1::decrypt_file_pass
+ unsigned char buffer[Aes_ctr::PASSWORD_LENGTH];
+
+ if (my_aes_decrypt(m_encrypted_password.data(),
+- m_encrypted_password.length(), buffer,
++ m_encrypted_password.size(), buffer,
+ error_and_key.second.data(),
+- error_and_key.second.length(), my_aes_256_cbc,
++ error_and_key.second.size(), my_aes_256_cbc,
+ m_iv.data(), false) != MY_AES_BAD_DATA)
+- file_password.append(buffer, Aes_ctr::PASSWORD_LENGTH);
++ file_password.insert(file_password.end(), buffer, buffer + Aes_ctr::PASSWORD_LENGTH);
+ }
+ }
+ #endif
+@@ -1212,16 +1212,16 @@ bool Rpl_encryption_header_v1::encrypt_file_password(K
+
+ /* Generate iv, it is a random string. */
+ error = my_rand_buffer(iv, Aes_ctr::AES_BLOCK_SIZE);
+- m_iv = Key_string(iv, sizeof(iv));
++ m_iv = Key_string(iv, iv + sizeof(iv));
+
+ /* Encrypt password */
+ if (!error) {
+- error = (my_aes_encrypt(password_str.data(), password_str.length(),
++ error = (my_aes_encrypt(password_str.data(), password_str.size(),
+ encrypted_password, master_key.m_value.data(),
+- master_key.m_value.length(), my_aes_256_cbc, iv,
++ master_key.m_value.size(), my_aes_256_cbc, iv,
+ false) == MY_AES_BAD_DATA);
+ m_encrypted_password =
+- Key_string(encrypted_password, sizeof(encrypted_password));
++ Key_string(encrypted_password, encrypted_password + sizeof(encrypted_password));
+ }
+
+ return error;
+@@ -1237,7 +1237,7 @@ Key_string Rpl_encryption_header_v1::generate_new_file
+ /* Generate password, it is a random string. */
+ error = my_rand_buffer(password, sizeof(password));
+ if (!error) {
+- password_str.append(password, sizeof(password));
++ password_str.insert(password_str.end(), password, password + sizeof(password));
+ }
+
+ if (error || encrypt_file_password(password_str) ||
diff --git a/databases/mysql94-server/files/patch-sql_ssl__init__callback.cc b/databases/mysql94-server/files/patch-sql_ssl__init__callback.cc
new file mode 100644
index 000000000000..59d4ee2445db
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_ssl__init__callback.cc
@@ -0,0 +1,36 @@
+--- sql/ssl_init_callback.cc.orig 2024-04-10 06:26:28 UTC
++++ sql/ssl_init_callback.cc
+@@ -165,14 +165,14 @@ static Sys_var_charptr Sys_tls_version(
+
+ static Sys_var_charptr Sys_tls_version(
+ "tls_version",
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ "TLS version, permitted values are TLSv1.2, TLSv1.3",
+ #else
+ "TLS version, permitted values are TLSv1.2",
+ #endif
+ PERSIST_AS_READONLY GLOBAL_VAR(opt_tls_version),
+ CMD_LINE(REQUIRED_ARG, OPT_TLS_VERSION), IN_FS_CHARSET,
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ "TLSv1.2,TLSv1.3",
+ #else
+ "TLSv1.2",
+@@ -248,14 +248,14 @@ static Sys_var_charptr Sys_admin_tls_version(
+
+ static Sys_var_charptr Sys_admin_tls_version(
+ "admin_tls_version",
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ "TLS version for --admin-port, permitted values are TLSv1.2, TLSv1.3",
+ #else
+ "TLS version for --admin-port, permitted values are TLSv1.2",
+ #endif
+ PERSIST_AS_READONLY GLOBAL_VAR(opt_admin_tls_version),
+ CMD_LINE(REQUIRED_ARG, OPT_ADMIN_TLS_VERSION), IN_FS_CHARSET,
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ "TLSv1.2,TLSv1.3",
+ #else
+ "TLSv1.2",
diff --git a/databases/mysql94-server/files/patch-sql_sys__vars.cc b/databases/mysql94-server/files/patch-sql_sys__vars.cc
new file mode 100644
index 000000000000..df10cf5efa42
--- /dev/null
+++ b/databases/mysql94-server/files/patch-sql_sys__vars.cc
@@ -0,0 +1,29 @@
+--- sql/sys_vars.cc.orig 2024-04-10 06:26:28 UTC
++++ sql/sys_vars.cc
+@@ -1999,7 +1999,7 @@ static Sys_var_ulong Sys_connect_timeout(
+ "The number of seconds the mysqld server is waiting for a connect "
+ "packet before responding with 'Bad handshake'",
+ GLOBAL_VAR(connect_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(2, LONG_TIMEOUT), DEFAULT(CONNECT_TIMEOUT), BLOCK_SIZE(1));
++ VALID_RANGE(2, INT_MAX32 / 1000), DEFAULT(CONNECT_TIMEOUT), BLOCK_SIZE(1));
+
+ static Sys_var_ulong Sys_information_schema_stats_expiry(
+ "information_schema_stats_expiry",
+@@ -3036,7 +3036,7 @@ static Sys_var_ulong Sys_net_read_timeout(
+ "Number of seconds to wait for more data from a connection before "
+ "aborting the read",
+ SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
++ VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_READ_TIMEOUT), BLOCK_SIZE(1),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
+ ON_UPDATE(fix_net_read_timeout));
+
+@@ -3057,7 +3057,7 @@ static Sys_var_ulong Sys_net_write_timeout(
+ "Number of seconds to wait for a block to be written to a connection "
+ "before aborting the write",
+ SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG),
+- VALID_RANGE(1, LONG_TIMEOUT), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
++ VALID_RANGE(1, INT_MAX32 / 1000), DEFAULT(NET_WRITE_TIMEOUT), BLOCK_SIZE(1),
+ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr),
+ ON_UPDATE(fix_net_write_timeout));
+
diff --git a/databases/mysql94-server/files/patch-storage_innobase_include_srv0mon.h b/databases/mysql94-server/files/patch-storage_innobase_include_srv0mon.h
new file mode 100644
index 000000000000..a0279de2a126
--- /dev/null
+++ b/databases/mysql94-server/files/patch-storage_innobase_include_srv0mon.h
@@ -0,0 +1,13 @@
+--- storage/innobase/include/srv0mon.h.orig 2024-04-10 06:26:28 UTC
++++ storage/innobase/include/srv0mon.h
+@@ -41,6 +41,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ /* Required for FreeBSD so that INT64_MAX is defined. */
+ #define __STDC_LIMIT_MACROS
+ #endif /* __STDC_LIMIT_MACROS */
++#ifdef __DragonFly__
++/* The hack above doen't work for dragonfly, stdint.h already imported */
++#include <machine/int_limits.h>
++#endif
+
+ #include <stdint.h>
+
diff --git a/databases/mysql94-server/files/patch-storage_innobase_include_ut0crc32.h b/databases/mysql94-server/files/patch-storage_innobase_include_ut0crc32.h
new file mode 100644
index 000000000000..b1b372a2d8c7
--- /dev/null
+++ b/databases/mysql94-server/files/patch-storage_innobase_include_ut0crc32.h
@@ -0,0 +1,12 @@
+--- storage/innobase/include/ut0crc32.h.orig 2024-04-10 06:26:28 UTC
++++ storage/innobase/include/ut0crc32.h
+@@ -133,7 +133,9 @@ CRC32_DEFAULT
+ #endif /* CRC32_ARM64 */
+
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __FreeBSD__
+ #include <asm/hwcap.h>
++#endif /* __FreeBSD__ */
+ #include <sys/auxv.h>
+ #endif /* CRC32_ARM64_DEFAULT */
+
diff --git a/databases/mysql94-server/files/patch-storage_innobase_ut_crc32.cc b/databases/mysql94-server/files/patch-storage_innobase_ut_crc32.cc
new file mode 100644
index 000000000000..4a2609cc1491
--- /dev/null
+++ b/databases/mysql94-server/files/patch-storage_innobase_ut_crc32.cc
@@ -0,0 +1,104 @@
+--- storage/innobase/ut/crc32.cc.orig 2024-04-10 06:26:28 UTC
++++ storage/innobase/ut/crc32.cc
+@@ -333,8 +333,25 @@ bool can_use_poly_mul() { return true; }
+ #endif /* CRC32_ARM64_APPLE */
+
+ #ifdef CRC32_ARM64_DEFAULT
++#ifdef __FreeBSD__
++bool can_use_crc32() {
++ unsigned long capabilities;
++
++ if (elf_aux_info(AT_HWCAP, &capabilities, sizeof(unsigned long)))
++ return false;
++ return capabilities & HWCAP_CRC32;
++}
++bool can_use_poly_mul() {
++ unsigned long capabilities;
++
++ if (elf_aux_info(AT_HWCAP, &capabilities, sizeof(unsigned long)))
++ return false;
++ return capabilities & HWCAP_PMULL;
++}
++#else
+ bool can_use_crc32() { return getauxval(AT_HWCAP) & HWCAP_CRC32; }
+ bool can_use_poly_mul() { return getauxval(AT_HWCAP) & HWCAP_PMULL; }
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+
+ /** A helper template to statically unroll a loop with a fixed number of
+@@ -443,25 +460,39 @@ uint64_t crc32_impl::update(uint64_t crc, uint64_t dat
+
+ #ifdef CRC32_ARM64
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crc")))
++#else
++MY_ATTRIBUTE((target("crc")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint32_t crc32_impl::update(uint32_t crc, unsigned char data) {
+ return __crc32cb(crc, data);
+ }
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crc")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint32_t crc32_impl::update(uint32_t crc, uint16_t data) {
+ return __crc32ch(crc, data);
+ }
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crc")))
++#else
++MY_ATTRIBUTE((target("crc")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint32_t crc32_impl::update(uint32_t crc, uint32_t data) {
+ return __crc32cw(crc, data);
+ }
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crc")))
++#else
++MY_ATTRIBUTE((target("crc")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint64_t crc32_impl::update(uint64_t crc, uint64_t data) {
+ return (uint64_t)__crc32cd((uint32_t)crc, data);
+@@ -508,7 +539,11 @@ template <uint32_t w>
+ }
+ template <uint32_t w>
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crypto")))
++#else
++MY_ATTRIBUTE((target("crypto")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint64_t use_pclmul::polynomial_mul_rev(uint32_t rev_u) {
+ constexpr uint64_t flipped_w = flip_at_32(w);
+@@ -751,7 +786,11 @@ MY_ATTRIBUTE((flatten))
+ MY_ATTRIBUTE((flatten))
+ #endif /* CRC32_ARM64_APPLE */
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crc+crypto"), flatten))
++#else
++MY_ATTRIBUTE((target("crc,crypto")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint32_t crc32_using_pclmul(const byte *data, size_t len) {
+ return crc32<use_pclmul>(0, data, len);
+@@ -771,7 +810,11 @@ MY_ATTRIBUTE((flatten))
+ MY_ATTRIBUTE((flatten))
+ #endif /* CRC32_ARM64_APPLE */
+ #ifdef CRC32_ARM64_DEFAULT
++#ifndef __clang__
+ MY_ATTRIBUTE((target("+crc"), flatten))
++#else
++MY_ATTRIBUTE((target("crc")))
++#endif
+ #endif /* CRC32_ARM64_DEFAULT */
+ uint32_t crc32_using_unrolled_loop_poly_mul(const byte *data, size_t len) {
+ return crc32<use_unrolled_loop_poly_mul>(0, data, len);
diff --git a/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc b/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc
new file mode 100644
index 000000000000..b9d73f50435e
--- /dev/null
+++ b/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc
@@ -0,0 +1,22 @@
+--- storage/myisam/mi_dynrec.cc.orig 2024-04-10 06:26:28 UTC
++++ storage/myisam/mi_dynrec.cc
+@@ -86,17 +86,12 @@ bool mi_dynmap_file(MI_INFO *info, my_off_t size) {
+ return true;
+ }
+ /*
+- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
+- MAP_NORESERVE
+- Do not reserve swap space for this mapping. When swap space is
+- reserved, one has the guarantee that it is possible to modify the
+- mapping. When swap space is not reserved one might get SIGSEGV
+- upon a write if no physical memory is available.
++ MAP_NORESERVE is unimplemented in FreeBSD
+ */
+ info->s->file_map = (uchar *)my_mmap(
+ nullptr, (size_t)size,
+ info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_NORESERVE, info->dfile, 0L);
++ MAP_SHARED, info->dfile, 0L);
+ if (info->s->file_map == (uchar *)MAP_FAILED) {
+ info->s->file_map = nullptr;
+ return true;
diff --git a/databases/mysql94-server/files/patch-support-files_CMakeLists.txt b/databases/mysql94-server/files/patch-support-files_CMakeLists.txt
new file mode 100644
index 000000000000..1ce8c74a9680
--- /dev/null
+++ b/databases/mysql94-server/files/patch-support-files_CMakeLists.txt
@@ -0,0 +1,39 @@
+--- support-files/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC
++++ support-files/CMakeLists.txt
+@@ -25,8 +25,9 @@ ENDIF()
+ RETURN()
+ ENDIF()
+
+-INSTALL(FILES mysql.m4
+- DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++IF(NOT WITHOUT_CLIENTLIBS)
++ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
+
+ SET(localstatedir "${MYSQL_DATADIR}")
+
+@@ -44,7 +45,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-log-r
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-log-rotate.in
+ ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-rotate @ONLY)
+
+-IF(NOT WITH_SYSTEMD)
++IF(NOT WITHOUT_SERVER)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql.server.sh
+ ${CMAKE_CURRENT_BINARY_DIR}/mysql.server @ONLY
+ )
+@@ -60,6 +61,7 @@ ENDIF()
+ )
+ ENDIF()
+
++IF(NOT WITHOUT_SERVER)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-rotate
+ COMPONENT Server_Scripts
+ DESTINATION ${INSTALL_SUPPORTFILESDIR}
+@@ -67,6 +69,7 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-ro
+ OWNER_READ OWNER_WRITE
+ GROUP_READ WORLD_READ
+ )
++ENDIF()
+
+ IF(WITH_ROUTER)
+ IF(NOT WITH_SYSTEMD)
diff --git a/databases/mysql94-server/files/patch-unittest_gunit_stream__cipher-t.cc b/databases/mysql94-server/files/patch-unittest_gunit_stream__cipher-t.cc
new file mode 100644
index 000000000000..0f182b2ae151
--- /dev/null
+++ b/databases/mysql94-server/files/patch-unittest_gunit_stream__cipher-t.cc
@@ -0,0 +1,15 @@
+--- unittest/gunit/stream_cipher-t.cc.orig 2024-07-12 19:20:22 UTC
++++ unittest/gunit/stream_cipher-t.cc
+@@ -251,10 +251,10 @@ void SetKeyStr(Key_string &key_str, const unsigned cha
+ template <typename T>
+ void SetKeyStr(Key_string &key_str, const unsigned char *key) {
+ if (key) {
+- key_str.assign(key, T::PASSWORD_LENGTH);
++ key_str.assign(key, key + T::PASSWORD_LENGTH);
+ } else {
+ const unsigned char new_key[T::PASSWORD_LENGTH]{0};
+- key_str.assign(new_key, T::PASSWORD_LENGTH);
++ key_str.assign(new_key, new_key + T::PASSWORD_LENGTH);
+ }
+ }
+
diff --git a/databases/mysql94-server/files/patch-utilities_CMakeLists.txt b/databases/mysql94-server/files/patch-utilities_CMakeLists.txt
new file mode 100644
index 000000000000..ba5520dc4474
--- /dev/null
+++ b/databases/mysql94-server/files/patch-utilities_CMakeLists.txt
@@ -0,0 +1,68 @@
+--- utilities/CMakeLists.txt.orig 2024-04-10 06:26:28 UTC
++++ utilities/CMakeLists.txt
+@@ -30,13 +30,19 @@ ENDIF()
+ DISABLE_DOCUMENTATION_WARNINGS()
+ ENDIF()
+
+-IF(NOT CMAKE_CROSSCOMPILING)
++IF(WITHOUT_CLIENTLIBS)
+ MYSQL_ADD_EXECUTABLE(comp_err
+ comp_err.cc
+ COMPONENT Test
+ LINK_LIBRARIES mysys
++ SKIP_INSTALL)
++ELSE(WITHOUT_CLIENTLIBS)
++ MYSQL_ADD_EXECUTABLE(comp_err
++ comp_err.cc
++ COMPONENT Test
++ LINK_LIBRARIES mysys
+ )
+-ENDIF()
++ENDIF(WITHOUT_CLIENTLIBS)
+
+ MYSQL_ADD_EXECUTABLE(comp_client_err
+ comp_client_err.cc
+@@ -121,10 +127,35 @@ MYSQL_ADD_EXECUTABLE(static_thread_local_test
+ EXCLUDE_FROM_ALL
+ )
+
++IF(WITHOUT_CLIENTLIBS)
+ MYSQL_ADD_EXECUTABLE(my_print_defaults
+ my_print_defaults.cc
+ COMPONENT Server
+ LINK_LIBRARIES mysys
++ SKIP_INSTALL )
++MYSQL_ADD_EXECUTABLE(perror
++ perror.cc
++ COMPONENT Server
++ DEPENDENCIES GenError
++ LINK_LIBRARIES mysys
++ SKIP_INSTALL )
++ENDIF(WITHOUT_CLIENTLIBS)
++
++IF(WITHOUT_CLIENTLIBS)
++IF(BUILD_BUNDLED_LZ4)
++ MYSQL_ADD_EXECUTABLE(lz4_decompress
++ lz4_decompress.cc
++ COMPONENT Server
++ LINK_LIBRARIES ${LZ4_LIBRARY} mysys
++ SKIP_INSTALL )
++ENDIF()
++ENDIF(WITHOUT_CLIENTLIBS)
++
++IF(NOT WITHOUT_CLIENTLIBS)
++MYSQL_ADD_EXECUTABLE(my_print_defaults
++ my_print_defaults.cc
++ COMPONENT Server
++ LINK_LIBRARIES mysys
+ )
+ MYSQL_ADD_EXECUTABLE(perror
+ perror.cc
+@@ -132,6 +163,7 @@ MYSQL_ADD_EXECUTABLE(perror
+ DEPENDENCIES GenError
+ LINK_LIBRARIES mysys
+ )
++ENDIF()
+
+ # All targets below belong to COMPONENT Server and depend on InnoDB.
+ IF(WITHOUT_SERVER)
diff --git a/databases/mysql94-server/files/patch-vio_viossl.cc b/databases/mysql94-server/files/patch-vio_viossl.cc
new file mode 100644
index 000000000000..100aa9242692
--- /dev/null
+++ b/databases/mysql94-server/files/patch-vio_viossl.cc
@@ -0,0 +1,30 @@
+--- vio/viossl.cc.orig 2024-04-10 06:26:28 UTC
++++ vio/viossl.cc
+@@ -46,7 +46,8 @@
+ BIO_set_callback_ex was added in openSSL 1.1.1
+ For older openSSL, use the deprecated BIO_set_callback.
+ */
+-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && \
++ !defined(LIBRESSL_VERSION_NUMBER)
+ #define HAVE_BIO_SET_CALLBACK_EX
+ #endif
+
+@@ -700,7 +701,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
+ #if !defined(NDEBUG)
+ {
+ STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr;
+- ssl_comp_methods = SSL_COMP_get_compression_methods();
++ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
+ n = sk_SSL_COMP_num(ssl_comp_methods);
+ DBUG_PRINT("info", ("Available compression methods:\n"));
+ if (n == 0)
+@@ -708,7 +709,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l
+ else
+ for (j = 0; j < n; j++) {
+ SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ DBUG_PRINT("info",
diff --git a/databases/mysql94-server/files/patch-vio_viosslfactories.cc b/databases/mysql94-server/files/patch-vio_viosslfactories.cc
new file mode 100644
index 000000000000..0e28a57cf4f4
--- /dev/null
+++ b/databases/mysql94-server/files/patch-vio_viosslfactories.cc
@@ -0,0 +1,46 @@
+--- vio/viosslfactories.cc.orig 2024-04-10 06:26:28 UTC
++++ vio/viosslfactories.cc
+@@ -46,6 +46,7 @@
+ #include <tls_ciphers.h>
+
+ #include "my_openssl_fips.h"
++#include "openssl/crypto.h"
+ #define TLS_VERSION_OPTION_SIZE 256
+
+ static bool ssl_initialized = false;
+@@ -334,7 +335,7 @@ long process_tls_version(const char *tls_version) {
+ const char *separator = ",";
+ char *token, *lasts = nullptr;
+
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ const char *tls_version_name_list[] = {"TLSv1.2", "TLSv1.3"};
+ const char ctx_flag_default[] = "TLSv1.2,TLSv1.3";
+ const long tls_ctx_list[] = {SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3};
+@@ -405,7 +406,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+ ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) &
+ (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 |
+ SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ | SSL_OP_NO_TLSv1_3
+ #endif /* HAVE_TLSv13 */
+ | SSL_OP_NO_TICKET);
+@@ -414,7 +415,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+ return nullptr;
+
+ if (!(ssl_fd->ssl_context = SSL_CTX_new(is_client ?
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ TLS_client_method()
+ : TLS_server_method()
+ #else /* HAVE_TLSv13 */
+@@ -429,7 +430,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+ return nullptr;
+ }
+
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+ /*
+ Set OpenSSL TLS v1.3 ciphersuites.
+ Note that an empty list is permissible.
diff --git a/databases/mysql94-server/files/pkg-message.in b/databases/mysql94-server/files/pkg-message.in
new file mode 100644
index 000000000000..605517879bee
--- /dev/null
+++ b/databases/mysql94-server/files/pkg-message.in
@@ -0,0 +1,21 @@
+[
+{ type: install
+ message: <<EOM
+There is no initial password for first time use of MySQL.
+Keep in mind to reset it to a secure password.
+
+MySQL 8.4 has a default %%ETCDIR%%/my.cnf,
+remember to replace it with your own
+or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
+EOM
+}
+{ type: upgrade
+ message: <<EOM
+As of MySQL 8.0.16, the MySQL server performs the upgrade tasks previously
+handled by mysql_upgrade. Consequently, mysql_upgrade is unneeded and is
+deprecated as of that version, and will be removed in a future MySQL version.
+Because mysql_upgrade no longer performs upgrade tasks,
+it exits with status 0 unconditionally.
+EOM
+}
+]
diff --git a/databases/mysql94-server/pkg-descr b/databases/mysql94-server/pkg-descr
new file mode 100644
index 000000000000..2d1842c56336
--- /dev/null
+++ b/databases/mysql94-server/pkg-descr
@@ -0,0 +1,4 @@
+MySQL is a very fast, multi-threaded, multi-user and robust SQL
+(Structured Query Language) database server. MySQL Server is intended for
+mission-critical, heavy-load production systems as well as for embedding
+into mass-deployed software
diff --git a/databases/mysql94-server/pkg-plist b/databases/mysql94-server/pkg-plist
new file mode 100644
index 000000000000..87cc3df3d32c
--- /dev/null
+++ b/databases/mysql94-server/pkg-plist
@@ -0,0 +1,288 @@
+LICENSE.router
+README.router
+bin/ibd2sdi
+bin/innochecksum
+bin/myisam_ftdump
+bin/myisamchk
+bin/myisamlog
+bin/myisampack
+bin/mysql_client_test
+bin/mysql_keyring_encryption_test
+bin/mysql_secure_installation
+bin/mysql_test_event_tracking
+bin/mysql_tzinfo_to_sql
+bin/mysqld_multi
+bin/mysqld_safe
+bin/mysqldumpslow
+bin/mysqlrouter
+bin/mysqlrouter_bootstrap
+bin/mysqlrouter_keyring
+bin/mysqlrouter_mrs_client
+bin/mysqlrouter_passwd
+bin/mysqlrouter_plugin_info
+bin/mysqltest
+bin/mysqltest_safe_process
+bin/mysqlxtest
+etc/logrotate.d/mysqlrouter
+%%ETCDIR%%/my.cnf.sample
+lib/mysql/libmysqlharness.so
+lib/mysql/libmysqlharness.so.1
+lib/mysql/libmysqlharness_stdx.so
+lib/mysql/libmysqlharness_stdx.so.1
+lib/mysql/libmysqlharness_tls.so
+lib/mysql/libmysqlharness_tls.so.1
+lib/mysql/libmysqlrouter.so
+lib/mysql/libmysqlrouter.so.1
+lib/mysql/libmysqlrouter_cluster.so
+lib/mysql/libmysqlrouter_cluster.so.1
+lib/mysql/libmysqlrouter_connection_pool.so
+lib/mysql/libmysqlrouter_connection_pool.so.1
+lib/mysql/libmysqlrouter_destination_status.so
+lib/mysql/libmysqlrouter_destination_status.so.1
+lib/mysql/libmysqlrouter_http.so
+lib/mysql/libmysqlrouter_http.so.1
+lib/mysql/libmysqlrouter_http_auth_backend.so
+lib/mysql/libmysqlrouter_http_auth_backend.so.1
+lib/mysql/libmysqlrouter_http_auth_realm.so
+lib/mysql/libmysqlrouter_http_auth_realm.so.1
+lib/mysql/libmysqlrouter_http_client.so
+lib/mysql/libmysqlrouter_http_server.so
+lib/mysql/libmysqlrouter_http_client.so.1
+lib/mysql/libmysqlrouter_http_server.so.1
+lib/mysql/libmysqlrouter_io_component.so
+lib/mysql/libmysqlrouter_io_component.so.1
+lib/mysql/libmysqlrouter_metadata_cache.so
+lib/mysql/libmysqlrouter_metadata_cache.so.1
+lib/mysql/libmysqlrouter_mysql.so
+lib/mysql/libmysqlrouter_mysql.so.1
+lib/mysql/libmysqlrouter_mysqlclient.so
+lib/mysql/libmysqlrouter_mysqlclient.so.1
+lib/mysql/libmysqlrouter_mysqlxclient.so
+lib/mysql/libmysqlrouter_mysqlxclient.so.1
+lib/mysql/libmysqlrouter_mysqlxmessages.so
+lib/mysql/libmysqlrouter_mysqlxmessages.so.1
+lib/mysql/libmysqlrouter_routing.so
+lib/mysql/libmysqlrouter_routing.so.1
+lib/mysql/libmysqlrouter_routing_connections.so
+lib/mysql/libmysqlrouter_routing_connections.so.1
+lib/mysql/libmysqlrouter_routing_guidelines.so
+lib/mysql/libmysqlrouter_utils.so
+lib/mysql/libmysqlrouter_routing_guidelines.so.1
+lib/mysql/libmysqlrouter_utils.so.1
+lib/mysql/libprotobuf.so.24.4.0
+lib/mysql/mysqlrouter/connection_pool.so
+lib/mysql/mysqlrouter/destination_status.so
+lib/mysql/mysqlrouter/http_auth_backend.so
+lib/mysql/mysqlrouter/http_auth_realm.so
+lib/mysql/mysqlrouter/http_server.so
+lib/mysql/mysqlrouter/io.so
+lib/mysql/mysqlrouter/keepalive.so
+lib/mysql/mysqlrouter/metadata_cache.so
+lib/mysql/mysqlrouter/mysql_rest_service.so
+lib/mysql/mysqlrouter/rest_api.so
+lib/mysql/mysqlrouter/rest_connection_pool.so
+lib/mysql/mysqlrouter/rest_metadata_cache.so
+lib/mysql/mysqlrouter/rest_router.so
+lib/mysql/mysqlrouter/rest_routing.so
+lib/mysql/mysqlrouter/router_openssl.so
+lib/mysql/mysqlrouter/router_protobuf.so
+lib/mysql/mysqlrouter/routing.so
+lib/mysql/plugin/adt_null.so
+lib/mysql/plugin/auth.so
+lib/mysql/plugin/auth_test_plugin.so
+lib/mysql/plugin/component_audit_api_message_emit.so
+lib/mysql/plugin/component_connection_control.so
+lib/mysql/plugin/component_example_component1.so
+lib/mysql/plugin/component_example_component2.so
+lib/mysql/plugin/component_example_component3.so
+lib/mysql/plugin/component_keyring_file.so
+lib/mysql/plugin/component_log_filter_dragnet.so
+lib/mysql/plugin/component_log_sink_json.so
+lib/mysql/plugin/component_log_sink_syseventlog.so
+lib/mysql/plugin/component_log_sink_test.so
+lib/mysql/plugin/component_mysqlbackup.so
+lib/mysql/plugin/component_mysqlx_global_reset.so
+lib/mysql/plugin/component_pfs_example.so
+lib/mysql/plugin/component_pfs_example_component_population.so
+lib/mysql/plugin/component_query_attributes.so
+lib/mysql/plugin/component_reference_cache.so
+lib/mysql/plugin/component_test_audit_api_message.so
+lib/mysql/plugin/component_test_backup_lock_service.so
+lib/mysql/plugin/component_test_component_deinit.so
+lib/mysql/plugin/component_test_component_deinit_no_deadlock.so
+lib/mysql/plugin/component_test_component_init_fail.so
+lib/mysql/plugin/component_test_component_init_then_register.so
+lib/mysql/plugin/component_test_event_tracking_consumer.so
+lib/mysql/plugin/component_test_event_tracking_consumer_a.so
+lib/mysql/plugin/component_test_event_tracking_consumer_b.so
+lib/mysql/plugin/component_test_event_tracking_consumer_c.so
+lib/mysql/plugin/component_test_event_tracking_producer_a.so
+lib/mysql/plugin/component_test_event_tracking_producer_b.so
+lib/mysql/plugin/component_test_execute_prepared_statement.so
+lib/mysql/plugin/component_test_execute_regular_statement.so
+lib/mysql/plugin/component_test_host_application_signal.so
+lib/mysql/plugin/component_test_mysql_command_services.so
+lib/mysql/plugin/component_test_mysql_current_thread_reader.so
+lib/mysql/plugin/component_test_mysql_runtime_error.so
+lib/mysql/plugin/component_test_mysql_signal_handler.so
+lib/mysql/plugin/component_test_mysql_system_variable_set.so
+lib/mysql/plugin/component_test_mysql_thd_store_service.so
+lib/mysql/plugin/component_test_pfs_notification.so
+lib/mysql/plugin/component_test_pfs_resource_group.so
+lib/mysql/plugin/component_test_sensitive_system_variables.so
+lib/mysql/plugin/component_test_server_telemetry_logs_client.so
+lib/mysql/plugin/component_test_server_telemetry_logs_export.so
+lib/mysql/plugin/component_test_server_telemetry_metrics.so
+lib/mysql/plugin/component_test_server_telemetry_traces.so
+lib/mysql/plugin/component_test_session_var_service.so
+lib/mysql/plugin/component_test_status_var_reader.so
+lib/mysql/plugin/component_test_status_var_service.so
+lib/mysql/plugin/component_test_status_var_service_int.so
+lib/mysql/plugin/component_test_status_var_service_reg_only.so
+lib/mysql/plugin/component_test_status_var_service_str.so
+lib/mysql/plugin/component_test_status_var_service_unreg_only.so
+lib/mysql/plugin/component_test_string_service.so
+lib/mysql/plugin/component_test_string_service_charset.so
+lib/mysql/plugin/component_test_string_service_long.so
+lib/mysql/plugin/component_test_sys_var_service.so
+lib/mysql/plugin/component_test_sys_var_service_int.so
+lib/mysql/plugin/component_test_sys_var_service_same.so
+lib/mysql/plugin/component_test_sys_var_service_str.so
+lib/mysql/plugin/component_test_system_variable_source.so
+lib/mysql/plugin/component_test_table_access.so
+lib/mysql/plugin/component_test_udf_aggregate.so
+lib/mysql/plugin/component_test_udf_registration.so
+lib/mysql/plugin/component_test_udf_services.so
+lib/mysql/plugin/component_udf_reg_3_func.so
+lib/mysql/plugin/component_udf_reg_avg_func.so
+lib/mysql/plugin/component_udf_reg_int_func.so
+lib/mysql/plugin/component_udf_reg_int_same_func.so
+lib/mysql/plugin/component_udf_reg_only_3_func.so
+lib/mysql/plugin/component_udf_reg_real_func.so
+lib/mysql/plugin/component_udf_unreg_3_func.so
+lib/mysql/plugin/component_udf_unreg_int_func.so
+lib/mysql/plugin/component_udf_unreg_real_func.so
+lib/mysql/plugin/component_validate_password.so
+lib/mysql/plugin/conflicting_variables.so
+lib/mysql/plugin/connection_control.so
+lib/mysql/plugin/daemon_example.ini
+lib/mysql/plugin/ddl_rewriter.so
+lib/mysql/plugin/group_replication.so
+lib/mysql/plugin/ha_example.so
+lib/mysql/plugin/ha_mock.so
+lib/mysql/plugin/keyring_udf.so
+lib/mysql/plugin/libdaemon_example.so
+lib/mysql/plugin/libtest_framework.so
+lib/mysql/plugin/libtest_services.so
+lib/mysql/plugin/libtest_services_threaded.so
+lib/mysql/plugin/libtest_session_attach.so
+lib/mysql/plugin/libtest_session_detach.so
+lib/mysql/plugin/libtest_session_in_thd.so
+lib/mysql/plugin/libtest_session_info.so
+lib/mysql/plugin/libtest_sql_2_sessions.so
+lib/mysql/plugin/libtest_sql_all_col_types.so
+lib/mysql/plugin/libtest_sql_cmds_1.so
+lib/mysql/plugin/libtest_sql_commit.so
+lib/mysql/plugin/libtest_sql_complex.so
+lib/mysql/plugin/libtest_sql_errors.so
+lib/mysql/plugin/libtest_sql_lock.so
+lib/mysql/plugin/libtest_sql_processlist.so
+lib/mysql/plugin/libtest_sql_replication.so
+lib/mysql/plugin/libtest_sql_reset_connection.so
+lib/mysql/plugin/libtest_sql_shutdown.so
+lib/mysql/plugin/libtest_sql_sleep_is_connected.so
+lib/mysql/plugin/libtest_sql_sqlmode.so
+lib/mysql/plugin/libtest_sql_stmt.so
+lib/mysql/plugin/libtest_sql_stored_procedures_functions.so
+lib/mysql/plugin/libtest_sql_views_triggers.so
+lib/mysql/plugin/libtest_x_sessions_deinit.so
+lib/mysql/plugin/libtest_x_sessions_init.so
+lib/mysql/plugin/locking_service.so
+lib/mysql/plugin/mypluglib.so
+lib/mysql/plugin/mysql_clone.so
+lib/mysql/plugin/mysql_no_login.so
+lib/mysql/plugin/pfs_example_plugin_employee.so
+lib/mysql/plugin/qa_auth_client.so
+lib/mysql/plugin/qa_auth_interface.so
+lib/mysql/plugin/qa_auth_server.so
+lib/mysql/plugin/replication_observers_example_plugin.so
+lib/mysql/plugin/rewrite_example.so
+lib/mysql/plugin/rewriter.so
+lib/mysql/plugin/semisync_master.so
+lib/mysql/plugin/semisync_replica.so
+lib/mysql/plugin/semisync_slave.so
+lib/mysql/plugin/semisync_source.so
+lib/mysql/plugin/test_security_context.so
+lib/mysql/plugin/test_services_command_services.so
+lib/mysql/plugin/test_services_host_application_signal.so
+lib/mysql/plugin/test_services_plugin_registry.so
+lib/mysql/plugin/test_udf_services.so
+lib/mysql/plugin/udf_example.so
+lib/mysql/plugin/validate_password.so
+lib/mysql/private/libprotobuf-lite.so.24.4.0
+lib/mysql/private/libprotobuf.so.24.4.0
+libexec/mysqld
+%%DATADIR%%/bulgarian/errmsg.sys
+%%DATADIR%%/charsets/Index.xml
+%%DATADIR%%/charsets/README
+%%DATADIR%%/charsets/armscii8.xml
+%%DATADIR%%/charsets/ascii.xml
+%%DATADIR%%/charsets/cp1250.xml
+%%DATADIR%%/charsets/cp1251.xml
+%%DATADIR%%/charsets/cp1256.xml
+%%DATADIR%%/charsets/cp1257.xml
+%%DATADIR%%/charsets/cp850.xml
+%%DATADIR%%/charsets/cp852.xml
+%%DATADIR%%/charsets/cp866.xml
+%%DATADIR%%/charsets/dec8.xml
+%%DATADIR%%/charsets/geostd8.xml
+%%DATADIR%%/charsets/greek.xml
+%%DATADIR%%/charsets/hebrew.xml
+%%DATADIR%%/charsets/hp8.xml
+%%DATADIR%%/charsets/keybcs2.xml
+%%DATADIR%%/charsets/koi8r.xml
+%%DATADIR%%/charsets/koi8u.xml
+%%DATADIR%%/charsets/latin1.xml
+%%DATADIR%%/charsets/latin2.xml
+%%DATADIR%%/charsets/latin5.xml
+%%DATADIR%%/charsets/latin7.xml
+%%DATADIR%%/charsets/macce.xml
+%%DATADIR%%/charsets/macroman.xml
+%%DATADIR%%/charsets/swe7.xml
+%%DATADIR%%/czech/errmsg.sys
+%%DATADIR%%/danish/errmsg.sys
+%%DATADIR%%/dictionary.txt
+%%DATADIR%%/dutch/errmsg.sys
+%%DATADIR%%/english/errmsg.sys
+%%DATADIR%%/estonian/errmsg.sys
+%%DATADIR%%/french/errmsg.sys
+%%DATADIR%%/german/errmsg.sys
+%%DATADIR%%/greek/errmsg.sys
+%%DATADIR%%/hungarian/errmsg.sys
+%%DATADIR%%/install_rewriter.sql
+%%DATADIR%%/italian/errmsg.sys
+%%DATADIR%%/japanese/errmsg.sys
+%%DATADIR%%/korean/errmsg.sys
+%%DATADIR%%/messages_to_clients.txt
+%%DATADIR%%/messages_to_error_log.txt
+%%DATADIR%%/mysql-log-rotate
+%%DATADIR%%/mysql.server
+%%DATADIR%%/mysqld_multi.server
+%%DATADIR%%/norwegian-ny/errmsg.sys
+%%DATADIR%%/norwegian/errmsg.sys
+%%DATADIR%%/polish/errmsg.sys
+%%DATADIR%%/portuguese/errmsg.sys
+%%DATADIR%%/romanian/errmsg.sys
+%%DATADIR%%/russian/errmsg.sys
+%%DATADIR%%/serbian/errmsg.sys
+%%DATADIR%%/slovak/errmsg.sys
+%%DATADIR%%/spanish/errmsg.sys
+%%DATADIR%%/swedish/errmsg.sys
+%%DATADIR%%/ukrainian/errmsg.sys
+%%DATADIR%%/uninstall_rewriter.sql
+%%DATADIR%%router/docs/sample_mysqlrouter.conf
+@dir %%ETCDIR%%/keyring
+@dir lib/mysql/plugin/debug
+@dir %%MY_SECDIR%%
+@dir %%MY_TMPDIR%%
+
diff --git a/databases/pecl-memcached/Makefile b/databases/pecl-memcached/Makefile
index 3154396d3b6b..201c25a38b3f 100644
--- a/databases/pecl-memcached/Makefile
+++ b/databases/pecl-memcached/Makefile
@@ -1,5 +1,5 @@
PORTNAME= memcached
-PORTVERSION= 3.3.0
+PORTVERSION= 3.4.0
CATEGORIES= databases
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/databases/pecl-memcached/distinfo b/databases/pecl-memcached/distinfo
index 01c18cea0cf1..9bd00571f482 100644
--- a/databases/pecl-memcached/distinfo
+++ b/databases/pecl-memcached/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1729653340
-SHA256 (PECL/memcached-3.3.0.tgz) = 2b85bf6699497170801fb4d06eb9c9a06bfc551cdead04101dd75c980be9eebf
-SIZE (PECL/memcached-3.3.0.tgz) = 92669
+TIMESTAMP = 1761446566
+SHA256 (PECL/memcached-3.4.0.tgz) = c163434eb0da97c8f45c7ad41d979d381f8b81c49402b1b90b063987fb37972e
+SIZE (PECL/memcached-3.4.0.tgz) = 93288
diff --git a/databases/pecl-memcached/files/patch-php85 b/databases/pecl-memcached/files/patch-php85
deleted file mode 100644
index 4860955286e7..000000000000
--- a/databases/pecl-memcached/files/patch-php85
+++ /dev/null
@@ -1,25 +0,0 @@
-Obtained from: https://github.com/php-memcached-dev/php-memcached/commit/bb83855d1874d1741ec51277f2ed496a476d35ff
- https://github.com/php-memcached-dev/php-memcached/commit/de7d53d13aecd329f03eab2eaf51c1ad8fa5c18f
-
---- php_memcached.c.orig 2024-10-17 17:34:21 UTC
-+++ php_memcached.c
-@@ -3961,7 +3961,7 @@ zend_class_entry *php_memc_get_exception_base(int root
- }
- }
-
-- return zend_exception_get_default();
-+ return zend_ce_exception;
- }
-
-
---- php_memcached_private.h.orig 2024-10-17 17:34:21 UTC
-+++ php_memcached_private.h
-@@ -43,7 +43,7 @@
- #include <ext/standard/info.h>
- #include <zend_extensions.h>
- #include <zend_exceptions.h>
--#include <ext/standard/php_smart_string.h>
-+#include <Zend/zend_smart_string.h>
- #include <ext/standard/php_var.h>
- #include <ext/standard/basic_functions.h>
-
diff --git a/databases/pgactive/Makefile b/databases/pgactive/Makefile
index c05907cdd25b..03904306546b 100644
--- a/databases/pgactive/Makefile
+++ b/databases/pgactive/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pgactive
-PORTVERSION= 2.1.6
+PORTVERSION= 2.1.7
DISTVERSIONPREFIX= v
CATEGORIES= databases
diff --git a/databases/pgactive/distinfo b/databases/pgactive/distinfo
index 7d671f4c563c..58e09d108a77 100644
--- a/databases/pgactive/distinfo
+++ b/databases/pgactive/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1756047691
-SHA256 (aws-pgactive-v2.1.6_GH0.tar.gz) = d8a172b8d75013baeb5740a124e0abed7a7233ddee8c88439a5b60298ff91d40
-SIZE (aws-pgactive-v2.1.6_GH0.tar.gz) = 2170745
+TIMESTAMP = 1761380087
+SHA256 (aws-pgactive-v2.1.7_GH0.tar.gz) = c50877ae77eb62aadb54be4d8864559a6cffa23e4e4512ef33eb186406e43730
+SIZE (aws-pgactive-v2.1.7_GH0.tar.gz) = 2172255
diff --git a/databases/pgactive/pkg-plist b/databases/pgactive/pkg-plist
index 21d765b01a41..95312734bc1f 100644
--- a/databases/pgactive/pkg-plist
+++ b/databases/pgactive/pkg-plist
@@ -8,4 +8,5 @@ share/postgresql/extension/pgactive--2.1.2--2.1.3.sql
share/postgresql/extension/pgactive--2.1.3--2.1.4.sql
share/postgresql/extension/pgactive--2.1.4--2.1.5.sql
share/postgresql/extension/pgactive--2.1.5--2.1.6.sql
+share/postgresql/extension/pgactive--2.1.6--2.1.7.sql
share/postgresql/extension/pgactive.control
diff --git a/databases/postgresql-orafce/Makefile b/databases/postgresql-orafce/Makefile
index fb481b43c8a0..56a95f777e2b 100644
--- a/databases/postgresql-orafce/Makefile
+++ b/databases/postgresql-orafce/Makefile
@@ -1,6 +1,6 @@
PORTNAME= orafce
DISTVERSIONPREFIX= VERSION_
-DISTVERSION= 4_16_0
+DISTVERSION= 4_16_1
CATEGORIES= databases
PKGNAMEPREFIX= postgresql-
diff --git a/databases/postgresql-orafce/distinfo b/databases/postgresql-orafce/distinfo
index cc7be6a76d62..235cd2529804 100644
--- a/databases/postgresql-orafce/distinfo
+++ b/databases/postgresql-orafce/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759774519
-SHA256 (orafce-orafce-VERSION_4_16_0_GH0.tar.gz) = cee32bf74063e17219c7ac8cbe855c849fb3d7cff7591449aa22d06cbeaef854
-SIZE (orafce-orafce-VERSION_4_16_0_GH0.tar.gz) = 759616
+TIMESTAMP = 1761446472
+SHA256 (orafce-orafce-VERSION_4_16_1_GH0.tar.gz) = fc1164470f29a074a37f05a5b04c9b26d3a84e7c075e769e5a96e3aa9614e562
+SIZE (orafce-orafce-VERSION_4_16_1_GH0.tar.gz) = 759618
diff --git a/databases/py-aiomysql/Makefile b/databases/py-aiomysql/Makefile
index d03bef4877b5..4fae42979566 100644
--- a/databases/py-aiomysql/Makefile
+++ b/databases/py-aiomysql/Makefile
@@ -1,5 +1,5 @@
PORTNAME= aiomysql
-PORTVERSION= 0.2.0
+PORTVERSION= 0.3.2
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -11,9 +11,8 @@ WWW= https://github.com/aio-libs/aiomysql
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4:devel/py-setuptools-scm@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}setuptools_scm_git_archive>=1.1:devel/py-setuptools_scm_git_archive@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=7<10:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pymysql>=1.0:databases/py-pymysql@${PY_FLAVOR}
diff --git a/databases/py-aiomysql/distinfo b/databases/py-aiomysql/distinfo
index fedaeff43f95..13b96d9f68f3 100644
--- a/databases/py-aiomysql/distinfo
+++ b/databases/py-aiomysql/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688166150
-SHA256 (aiomysql-0.2.0.tar.gz) = 558b9c26d580d08b8c5fd1be23c5231ce3aeff2dadad989540fee740253deb67
-SIZE (aiomysql-0.2.0.tar.gz) = 114706
+TIMESTAMP = 1761446572
+SHA256 (aiomysql-0.3.2.tar.gz) = 72d15ef5cfc34c03468eb41e1b90adb9fd9347b0b589114bd23ead569a02ac1a
+SIZE (aiomysql-0.3.2.tar.gz) = 108311
diff --git a/databases/py-aiomysql/files/patch-pyproject.toml b/databases/py-aiomysql/files/patch-pyproject.toml
index 01823cd2153d..3877b8bd4918 100644
--- a/databases/py-aiomysql/files/patch-pyproject.toml
+++ b/databases/py-aiomysql/files/patch-pyproject.toml
@@ -1,11 +1,20 @@
---- pyproject.toml.orig 2023-06-11 19:29:20 UTC
+--- pyproject.toml.orig 2025-10-22 00:04:45 UTC
+++ pyproject.toml
-@@ -4,7 +4,7 @@ requires = [
- "setuptools >= 42",
+@@ -7,7 +7,7 @@ keywords = ["mysql", "mariadb", "asyncio", "aiomysql"]
+ readme = "README.rst"
+ requires-python = ">=3.9"
+ keywords = ["mysql", "mariadb", "asyncio", "aiomysql"]
+-license = "MIT"
++license = {text = "MIT"}
+ classifiers = [
+ "Intended Audience :: Developers",
+ "Programming Language :: Python :: 3",
+@@ -45,7 +45,7 @@ requires = [
+ [build-system]
+ requires = [
+ # Essentials
+- "setuptools >= 80",
++ "setuptools >= 61",
# Plugins
-- "setuptools_scm[toml] >= 6.4, < 7",
-+ "setuptools_scm[toml] >= 6.4",
- "setuptools_scm_git_archive >= 1.1",
- ]
- build-backend = "setuptools.build_meta"
+ # >= 9.2 is needed for consistent generation of hashes for non-release artifacts
diff --git a/databases/py-anysqlite/Makefile b/databases/py-anysqlite/Makefile
new file mode 100644
index 000000000000..710c51b4b2c4
--- /dev/null
+++ b/databases/py-anysqlite/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= anysqlite
+PORTVERSION= 0.0.5
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= SQLite3 for asyncio and trio
+WWW= https://github.com/karpetrosyan/anysqlite
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=3.4.0:devel/py-anyio@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/databases/py-anysqlite/distinfo b/databases/py-anysqlite/distinfo
new file mode 100644
index 000000000000..1aad8eb4fd33
--- /dev/null
+++ b/databases/py-anysqlite/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1761446464
+SHA256 (anysqlite-0.0.5.tar.gz) = 9dfcf87baf6b93426ad1d9118088c41dbf24ef01b445eea4a5d486bac2755cce
+SIZE (anysqlite-0.0.5.tar.gz) = 3432
diff --git a/databases/py-anysqlite/pkg-descr b/databases/py-anysqlite/pkg-descr
new file mode 100644
index 000000000000..4716fc3f4de5
--- /dev/null
+++ b/databases/py-anysqlite/pkg-descr
@@ -0,0 +1,2 @@
+Anysqlite provides an async/await interface to the standard sqlite3 library and
+supports both trio and asyncio backends using the power of Anyio.
diff --git a/databases/py-datafusion/Makefile b/databases/py-datafusion/Makefile
index c792f3fd1e44..922143ed4617 100644
--- a/databases/py-datafusion/Makefile
+++ b/databases/py-datafusion/Makefile
@@ -1,5 +1,5 @@
PORTNAME= datafusion
-PORTVERSION= 50.0.0
+PORTVERSION= 50.1.0
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/databases/py-datafusion/Makefile.crates b/databases/py-datafusion/Makefile.crates
index 1e3ebf0edfa5..4ef574fc0ad7 100644
--- a/databases/py-datafusion/Makefile.crates
+++ b/databases/py-datafusion/Makefile.crates
@@ -14,21 +14,21 @@ CARGO_CRATES= abi_stable-0.11.3 \
arc-swap-1.7.1 \
arrayref-0.3.9 \
arrayvec-0.7.6 \
- arrow-56.1.0 \
- arrow-arith-56.1.0 \
- arrow-array-56.1.0 \
- arrow-buffer-56.1.0 \
- arrow-cast-56.1.0 \
- arrow-csv-56.1.0 \
- arrow-data-56.1.0 \
- arrow-ipc-56.1.0 \
- arrow-json-56.1.0 \
- arrow-ord-56.1.0 \
- arrow-pyarrow-56.1.0 \
- arrow-row-56.1.0 \
- arrow-schema-56.1.0 \
- arrow-select-56.1.0 \
- arrow-string-56.1.0 \
+ arrow-56.2.0 \
+ arrow-arith-56.2.0 \
+ arrow-array-56.2.0 \
+ arrow-buffer-56.2.0 \
+ arrow-cast-56.2.0 \
+ arrow-csv-56.2.0 \
+ arrow-data-56.2.0 \
+ arrow-ipc-56.2.0 \
+ arrow-json-56.2.0 \
+ arrow-ord-56.2.0 \
+ arrow-pyarrow-56.2.0 \
+ arrow-row-56.2.0 \
+ arrow-schema-56.2.0 \
+ arrow-select-56.2.0 \
+ arrow-string-56.2.0 \
as_derive_utils-0.11.0 \
async-compression-0.4.19 \
async-ffi-0.5.0 \
@@ -61,7 +61,7 @@ CARGO_CRATES= abi_stable-0.11.3 \
chrono-0.4.42 \
chrono-tz-0.10.4 \
cmake-0.1.54 \
- comfy-table-7.2.1 \
+ comfy-table-7.1.2 \
const-random-0.1.18 \
const-random-macro-0.1.16 \
const_panic-0.2.15 \
@@ -82,41 +82,41 @@ CARGO_CRATES= abi_stable-0.11.3 \
darling_core-0.21.3 \
darling_macro-0.21.3 \
dashmap-6.1.0 \
- datafusion-50.1.0 \
- datafusion-catalog-50.1.0 \
- datafusion-catalog-listing-50.1.0 \
- datafusion-common-50.1.0 \
- datafusion-common-runtime-50.1.0 \
- datafusion-datasource-50.1.0 \
- datafusion-datasource-avro-50.1.0 \
- datafusion-datasource-csv-50.1.0 \
- datafusion-datasource-json-50.1.0 \
- datafusion-datasource-parquet-50.1.0 \
- datafusion-doc-50.1.0 \
- datafusion-execution-50.1.0 \
- datafusion-expr-50.1.0 \
- datafusion-expr-common-50.1.0 \
- datafusion-ffi-50.1.0 \
- datafusion-functions-50.1.0 \
- datafusion-functions-aggregate-50.1.0 \
- datafusion-functions-aggregate-common-50.1.0 \
- datafusion-functions-nested-50.1.0 \
- datafusion-functions-table-50.1.0 \
- datafusion-functions-window-50.1.0 \
- datafusion-functions-window-common-50.1.0 \
- datafusion-macros-50.1.0 \
- datafusion-optimizer-50.1.0 \
- datafusion-physical-expr-50.1.0 \
- datafusion-physical-expr-adapter-50.0.0 \
- datafusion-physical-expr-common-50.1.0 \
- datafusion-physical-optimizer-50.1.0 \
- datafusion-physical-plan-50.1.0 \
- datafusion-proto-50.1.0 \
- datafusion-proto-common-50.1.0 \
- datafusion-pruning-50.1.0 \
- datafusion-session-50.1.0 \
- datafusion-sql-50.1.0 \
- datafusion-substrait-50.1.0 \
+ datafusion-50.2.0 \
+ datafusion-catalog-50.2.0 \
+ datafusion-catalog-listing-50.2.0 \
+ datafusion-common-50.2.0 \
+ datafusion-common-runtime-50.2.0 \
+ datafusion-datasource-50.2.0 \
+ datafusion-datasource-avro-50.2.0 \
+ datafusion-datasource-csv-50.2.0 \
+ datafusion-datasource-json-50.2.0 \
+ datafusion-datasource-parquet-50.2.0 \
+ datafusion-doc-50.2.0 \
+ datafusion-execution-50.2.0 \
+ datafusion-expr-50.2.0 \
+ datafusion-expr-common-50.2.0 \
+ datafusion-ffi-50.2.0 \
+ datafusion-functions-50.2.0 \
+ datafusion-functions-aggregate-50.2.0 \
+ datafusion-functions-aggregate-common-50.2.0 \
+ datafusion-functions-nested-50.2.0 \
+ datafusion-functions-table-50.2.0 \
+ datafusion-functions-window-50.2.0 \
+ datafusion-functions-window-common-50.2.0 \
+ datafusion-macros-50.2.0 \
+ datafusion-optimizer-50.2.0 \
+ datafusion-physical-expr-50.2.0 \
+ datafusion-physical-expr-adapter-50.2.0 \
+ datafusion-physical-expr-common-50.2.0 \
+ datafusion-physical-optimizer-50.2.0 \
+ datafusion-physical-plan-50.2.0 \
+ datafusion-proto-50.2.0 \
+ datafusion-proto-common-50.2.0 \
+ datafusion-pruning-50.2.0 \
+ datafusion-session-50.2.0 \
+ datafusion-sql-50.2.0 \
+ datafusion-substrait-50.2.0 \
digest-0.10.7 \
displaydoc-0.2.5 \
dyn-clone-1.0.20 \
@@ -150,6 +150,7 @@ CARGO_CRATES= abi_stable-0.11.3 \
half-2.6.0 \
hashbrown-0.14.5 \
hashbrown-0.15.5 \
+ hashbrown-0.16.0 \
heck-0.5.0 \
hex-0.4.3 \
http-1.3.1 \
@@ -197,7 +198,7 @@ CARGO_CRATES= abi_stable-0.11.3 \
libz-rs-sys-0.5.2 \
linux-raw-sys-0.11.0 \
litemap-0.8.0 \
- lock_api-0.4.13 \
+ lock_api-0.4.14 \
log-0.4.28 \
lru-slab-0.1.2 \
lz4_flex-0.11.5 \
@@ -217,12 +218,12 @@ CARGO_CRATES= abi_stable-0.11.3 \
num-rational-0.4.2 \
num-traits-0.2.19 \
object-0.36.7 \
- object_store-0.12.3 \
+ object_store-0.12.4 \
once_cell-1.21.3 \
openssl-probe-0.1.6 \
ordered-float-2.10.1 \
- parking_lot-0.12.4 \
- parking_lot_core-0.9.11 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
parquet-56.1.0 \
paste-1.0.15 \
pbjson-0.7.0 \
@@ -318,7 +319,9 @@ CARGO_CRATES= abi_stable-0.11.3 \
stacker-0.1.21 \
static_assertions-1.1.0 \
strsim-0.11.1 \
+ strum-0.26.3 \
strum-0.27.2 \
+ strum_macros-0.26.4 \
strum_macros-0.27.2 \
substrait-0.58.0 \
subtle-2.6.1 \
diff --git a/databases/py-datafusion/distinfo b/databases/py-datafusion/distinfo
index 735c2586b0a5..a5924ef23c90 100644
--- a/databases/py-datafusion/distinfo
+++ b/databases/py-datafusion/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1759816622
-SHA256 (datafusion-50.0.0.tar.gz) = da6e2be2c56fe64319acc8e3611b7855a7429091fdf27baa7e850fbb798a8302
-SIZE (datafusion-50.0.0.tar.gz) = 184983
+TIMESTAMP = 1761446574
+SHA256 (datafusion-50.1.0.tar.gz) = d8b8f027c7ce2498cda1589d3ce6d8720798963e031660fbe4d2e26e172442ec
+SIZE (datafusion-50.1.0.tar.gz) = 188103
SHA256 (rust/crates/abi_stable-0.11.3.crate) = 69d6512d3eb05ffe5004c59c206de7f99c34951504056ce23fc953842f12c445
SIZE (rust/crates/abi_stable-0.11.3.crate) = 327641
SHA256 (rust/crates/abi_stable_derive-0.11.3.crate) = d7178468b407a4ee10e881bc7a328a65e739f0863615cca4429d43916b05e898
@@ -33,36 +33,36 @@ SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486
SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
-SHA256 (rust/crates/arrow-56.1.0.crate) = c26b57282a08ae92f727497805122fec964c6245cfa0e13f0e75452eaf3bc41f
-SIZE (rust/crates/arrow-56.1.0.crate) = 88718
-SHA256 (rust/crates/arrow-arith-56.1.0.crate) = cebf38ca279120ff522f4954b81a39527425b6e9f615e6b72842f4de1ffe02b8
-SIZE (rust/crates/arrow-arith-56.1.0.crate) = 49498
-SHA256 (rust/crates/arrow-array-56.1.0.crate) = 744109142cdf8e7b02795e240e20756c2a782ac9180d4992802954a8f871c0de
-SIZE (rust/crates/arrow-array-56.1.0.crate) = 258960
-SHA256 (rust/crates/arrow-buffer-56.1.0.crate) = 601bb103c4c374bcd1f62c66bcea67b42a2ee91a690486c37d4c180236f11ccc
-SIZE (rust/crates/arrow-buffer-56.1.0.crate) = 81297
-SHA256 (rust/crates/arrow-cast-56.1.0.crate) = eed61d9d73eda8df9e3014843def37af3050b5080a9acbe108f045a316d5a0be
-SIZE (rust/crates/arrow-cast-56.1.0.crate) = 105381
-SHA256 (rust/crates/arrow-csv-56.1.0.crate) = fa95b96ce0c06b4d33ac958370db8c0d31e88e54f9d6e08b0353d18374d9f991
-SIZE (rust/crates/arrow-csv-56.1.0.crate) = 40367
-SHA256 (rust/crates/arrow-data-56.1.0.crate) = 43407f2c6ba2367f64d85d4603d6fb9c4b92ed79d2ffd21021b37efa96523e12
-SIZE (rust/crates/arrow-data-56.1.0.crate) = 58821
-SHA256 (rust/crates/arrow-ipc-56.1.0.crate) = e4b0487c4d2ad121cbc42c4db204f1509f8618e589bc77e635e9c40b502e3b90
-SIZE (rust/crates/arrow-ipc-56.1.0.crate) = 122702
-SHA256 (rust/crates/arrow-json-56.1.0.crate) = 26d747573390905905a2dc4c5a61a96163fe2750457f90a04ee2a88680758c79
-SIZE (rust/crates/arrow-json-56.1.0.crate) = 74829
-SHA256 (rust/crates/arrow-ord-56.1.0.crate) = c142a147dceb59d057bad82400f1693847c80dca870d008bf7b91caf902810ae
-SIZE (rust/crates/arrow-ord-56.1.0.crate) = 60069
-SHA256 (rust/crates/arrow-pyarrow-56.1.0.crate) = 5b9038de599df1b81f63b42220e2b6cd6fd4f09af333858cd320db9bef5ac757
-SIZE (rust/crates/arrow-pyarrow-56.1.0.crate) = 10246
-SHA256 (rust/crates/arrow-row-56.1.0.crate) = dac6620667fccdab4204689ca173bd84a15de6bb6b756c3a8764d4d7d0c2fc04
-SIZE (rust/crates/arrow-row-56.1.0.crate) = 46998
-SHA256 (rust/crates/arrow-schema-56.1.0.crate) = dfa93af9ff2bb80de539e6eb2c1c8764abd0f4b73ffb0d7c82bf1f9868785e66
-SIZE (rust/crates/arrow-schema-56.1.0.crate) = 66901
-SHA256 (rust/crates/arrow-select-56.1.0.crate) = be8b2e0052cd20d36d64f32640b68a5ab54d805d24a473baee5d52017c85536c
-SIZE (rust/crates/arrow-select-56.1.0.crate) = 90889
-SHA256 (rust/crates/arrow-string-56.1.0.crate) = c2155e26e17f053c8975c546fc70cf19c00542f9abf43c23a88a46ef7204204f
-SIZE (rust/crates/arrow-string-56.1.0.crate) = 43868
+SHA256 (rust/crates/arrow-56.2.0.crate) = 6e833808ff2d94ed40d9379848a950d995043c7fb3e81a30b383f4c6033821cc
+SIZE (rust/crates/arrow-56.2.0.crate) = 88336
+SHA256 (rust/crates/arrow-arith-56.2.0.crate) = ad08897b81588f60ba983e3ca39bda2b179bdd84dced378e7df81a5313802ef8
+SIZE (rust/crates/arrow-arith-56.2.0.crate) = 49500
+SHA256 (rust/crates/arrow-array-56.2.0.crate) = 8548ca7c070d8db9ce7aa43f37393e4bfcf3f2d3681df278490772fd1673d08d
+SIZE (rust/crates/arrow-array-56.2.0.crate) = 258711
+SHA256 (rust/crates/arrow-buffer-56.2.0.crate) = e003216336f70446457e280807a73899dd822feaf02087d31febca1363e2fccc
+SIZE (rust/crates/arrow-buffer-56.2.0.crate) = 81240
+SHA256 (rust/crates/arrow-cast-56.2.0.crate) = 919418a0681298d3a77d1a315f625916cb5678ad0d74b9c60108eb15fd083023
+SIZE (rust/crates/arrow-cast-56.2.0.crate) = 105222
+SHA256 (rust/crates/arrow-csv-56.2.0.crate) = bfa9bf02705b5cf762b6f764c65f04ae9082c7cfc4e96e0c33548ee3f67012eb
+SIZE (rust/crates/arrow-csv-56.2.0.crate) = 39890
+SHA256 (rust/crates/arrow-data-56.2.0.crate) = a5c64fff1d142f833d78897a772f2e5b55b36cb3e6320376f0961ab0db7bd6d0
+SIZE (rust/crates/arrow-data-56.2.0.crate) = 58824
+SHA256 (rust/crates/arrow-ipc-56.2.0.crate) = 1d3594dcddccc7f20fd069bc8e9828ce37220372680ff638c5e00dea427d88f5
+SIZE (rust/crates/arrow-ipc-56.2.0.crate) = 122280
+SHA256 (rust/crates/arrow-json-56.2.0.crate) = 88cf36502b64a127dc659e3b305f1d993a544eab0d48cce704424e62074dc04b
+SIZE (rust/crates/arrow-json-56.2.0.crate) = 74380
+SHA256 (rust/crates/arrow-ord-56.2.0.crate) = 3c8f82583eb4f8d84d4ee55fd1cb306720cddead7596edce95b50ee418edf66f
+SIZE (rust/crates/arrow-ord-56.2.0.crate) = 60069
+SHA256 (rust/crates/arrow-pyarrow-56.2.0.crate) = 7d924b32e96f8bb74d94cd82bd97b313c432fcb0ea331689ef9e7c6b8be4b258
+SIZE (rust/crates/arrow-pyarrow-56.2.0.crate) = 10316
+SHA256 (rust/crates/arrow-row-56.2.0.crate) = 9d07ba24522229d9085031df6b94605e0f4b26e099fb7cdeec37abd941a73753
+SIZE (rust/crates/arrow-row-56.2.0.crate) = 46909
+SHA256 (rust/crates/arrow-schema-56.2.0.crate) = b3aa9e59c611ebc291c28582077ef25c97f1975383f1479b12f3b9ffee2ffabe
+SIZE (rust/crates/arrow-schema-56.2.0.crate) = 66455
+SHA256 (rust/crates/arrow-select-56.2.0.crate) = 8c41dbbd1e97bfcaee4fcb30e29105fb2c75e4d82ae4de70b792a5d3f66b2e7a
+SIZE (rust/crates/arrow-select-56.2.0.crate) = 90883
+SHA256 (rust/crates/arrow-string-56.2.0.crate) = 53f5183c150fbc619eede22b861ea7c0eebed8eaac0333eaa7f6da5205fd504d
+SIZE (rust/crates/arrow-string-56.2.0.crate) = 43875
SHA256 (rust/crates/as_derive_utils-0.11.0.crate) = ff3c96645900a44cf11941c111bd08a6573b0e2f9f69bc9264b179d8fae753c4
SIZE (rust/crates/as_derive_utils-0.11.0.crate) = 17478
SHA256 (rust/crates/async-compression-0.4.19.crate) = 06575e6a9673580f52661c92107baabffbf41e2141373441cbcdc47cb733003c
@@ -127,8 +127,8 @@ SHA256 (rust/crates/chrono-tz-0.10.4.crate) = a6139a8597ed92cf816dfb33f5dd6cf0bb
SIZE (rust/crates/chrono-tz-0.10.4.crate) = 794377
SHA256 (rust/crates/cmake-0.1.54.crate) = e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0
SIZE (rust/crates/cmake-0.1.54.crate) = 18955
-SHA256 (rust/crates/comfy-table-7.2.1.crate) = b03b7db8e0b4b2fdad6c551e634134e99ec000e5c8c3b6856c65e8bbaded7a3b
-SIZE (rust/crates/comfy-table-7.2.1.crate) = 78509
+SHA256 (rust/crates/comfy-table-7.1.2.crate) = e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56
+SIZE (rust/crates/comfy-table-7.1.2.crate) = 74002
SHA256 (rust/crates/const-random-0.1.18.crate) = 87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359
SIZE (rust/crates/const-random-0.1.18.crate) = 6646
SHA256 (rust/crates/const-random-macro-0.1.16.crate) = f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e
@@ -169,76 +169,76 @@ SHA256 (rust/crates/darling_macro-0.21.3.crate) = d38308df82d1080de0afee5d069fa1
SIZE (rust/crates/darling_macro-0.21.3.crate) = 2535
SHA256 (rust/crates/dashmap-6.1.0.crate) = 5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf
SIZE (rust/crates/dashmap-6.1.0.crate) = 24828
-SHA256 (rust/crates/datafusion-50.1.0.crate) = 4016a135c11820d9c9884a1f7924d5456c563bd3657b7d691a6e7b937a452df7
-SIZE (rust/crates/datafusion-50.1.0.crate) = 256772
-SHA256 (rust/crates/datafusion-catalog-50.1.0.crate) = 1721d3973afeb8a0c3f235a79101cc61e4a558dd3f02fdc9ae6c61e882e544d9
-SIZE (rust/crates/datafusion-catalog-50.1.0.crate) = 52595
-SHA256 (rust/crates/datafusion-catalog-listing-50.1.0.crate) = 44841d3efb0c89c6a5ac6fde5ac61d4f2474a2767f170db6d97300a8b4df8904
-SIZE (rust/crates/datafusion-catalog-listing-50.1.0.crate) = 30487
-SHA256 (rust/crates/datafusion-common-50.1.0.crate) = eabb89b9d1ea8198d174b0838b91b40293b780261d694d6ac59bd20c38005115
-SIZE (rust/crates/datafusion-common-50.1.0.crate) = 228934
-SHA256 (rust/crates/datafusion-common-runtime-50.1.0.crate) = f03fe3936f978fe8e76776d14ad8722e33843b01d81d11707ca72d54d2867787
-SIZE (rust/crates/datafusion-common-runtime-50.1.0.crate) = 13535
-SHA256 (rust/crates/datafusion-datasource-50.1.0.crate) = 4543216d2f4fc255780a46ae9e062e50c86ac23ecab6718cc1ba3fe4a8d5a8f2
-SIZE (rust/crates/datafusion-datasource-50.1.0.crate) = 118933
-SHA256 (rust/crates/datafusion-datasource-avro-50.1.0.crate) = 8260c3b115e02f6e09f18afd7fed9f5b52dde3946db23b0e5c9b6dff6a7839f2
-SIZE (rust/crates/datafusion-datasource-avro-50.1.0.crate) = 43967
-SHA256 (rust/crates/datafusion-datasource-csv-50.1.0.crate) = 8ab662d4692ca5929ce32eb609c6c8a741772537d98363b3efb3bc68148cd530
-SIZE (rust/crates/datafusion-datasource-csv-50.1.0.crate) = 31623
-SHA256 (rust/crates/datafusion-datasource-json-50.1.0.crate) = 7dad4492ba9a2fca417cb211f8f05ffeb7f12a1f0f8e5bdcf548c353ff923779
-SIZE (rust/crates/datafusion-datasource-json-50.1.0.crate) = 27790
-SHA256 (rust/crates/datafusion-datasource-parquet-50.1.0.crate) = 2925432ce04847cc09b4789a53fc22b0fdf5f2e73289ad7432759d76c6026e9e
-SIZE (rust/crates/datafusion-datasource-parquet-50.1.0.crate) = 91880
-SHA256 (rust/crates/datafusion-doc-50.1.0.crate) = b71f8c2c0d5c57620003c3bf1ee577b738404a7fd9642f6cf73d10e44ffaa70f
-SIZE (rust/crates/datafusion-doc-50.1.0.crate) = 8591
-SHA256 (rust/crates/datafusion-execution-50.1.0.crate) = aa51cf4d253927cb65690c05a18e7720cdda4c47c923b0dd7d641f7fcfe21b14
-SIZE (rust/crates/datafusion-execution-50.1.0.crate) = 60255
-SHA256 (rust/crates/datafusion-expr-50.1.0.crate) = 4a347435cfcd1de0498c8410d32e0b1fc3920e198ce0378f8e259da717af9e0f
-SIZE (rust/crates/datafusion-expr-50.1.0.crate) = 224488
-SHA256 (rust/crates/datafusion-expr-common-50.1.0.crate) = 4e73951bdf1047d7af212bb11310407230b4067921df648781ae7f7f1241e87e
-SIZE (rust/crates/datafusion-expr-common-50.1.0.crate) = 91609
-SHA256 (rust/crates/datafusion-ffi-50.1.0.crate) = cda6e7e5f98b9587f2e32db9eb550539441e18edcea90075d6504da811de5960
-SIZE (rust/crates/datafusion-ffi-50.1.0.crate) = 73023
-SHA256 (rust/crates/datafusion-functions-50.1.0.crate) = a3b181e79552d764a2589910d1e0420ef41b07ab97c3e3efdbce612b692141e7
-SIZE (rust/crates/datafusion-functions-50.1.0.crate) = 207211
-SHA256 (rust/crates/datafusion-functions-aggregate-50.1.0.crate) = b7e8cfb3b3f9e48e756939c85816b388264bed378d166a993fb265d800e1c83c
-SIZE (rust/crates/datafusion-functions-aggregate-50.1.0.crate) = 117474
-SHA256 (rust/crates/datafusion-functions-aggregate-common-50.1.0.crate) = 9501537e235e4e86828bc8bf4e22968c1514c2cb4c860b7c7cf7dc99e172d43c
-SIZE (rust/crates/datafusion-functions-aggregate-common-50.1.0.crate) = 50029
-SHA256 (rust/crates/datafusion-functions-nested-50.1.0.crate) = 6cbc3ecce122389530af091444e923f2f19153c38731893f5b798e19a46fbf86
-SIZE (rust/crates/datafusion-functions-nested-50.1.0.crate) = 76893
-SHA256 (rust/crates/datafusion-functions-table-50.1.0.crate) = a8ad370763644d6626b15900fe2268e7d55c618fadf5cff3a7f717bb6fb50ec1
-SIZE (rust/crates/datafusion-functions-table-50.1.0.crate) = 27025
-SHA256 (rust/crates/datafusion-functions-window-50.1.0.crate) = 44b14fc52c77461f359d1697826a4373c7887a6adfca94eedc81c35decd0df9f
-SIZE (rust/crates/datafusion-functions-window-50.1.0.crate) = 36005
-SHA256 (rust/crates/datafusion-functions-window-common-50.1.0.crate) = 851c80de71ff8bc9be7f8478f26e8060e25cab868a36190c4ebdaacc72ceade1
-SIZE (rust/crates/datafusion-functions-window-common-50.1.0.crate) = 16507
-SHA256 (rust/crates/datafusion-macros-50.1.0.crate) = 386208ac4f475a099920cdbe9599188062276a09cb4c3f02efdc54e0c015ab14
-SIZE (rust/crates/datafusion-macros-50.1.0.crate) = 17907
-SHA256 (rust/crates/datafusion-optimizer-50.1.0.crate) = b20ff1cec8c23fbab8523e2937790fb374b92d3b273306a64b7d8889ff3b8614
-SIZE (rust/crates/datafusion-optimizer-50.1.0.crate) = 206016
-SHA256 (rust/crates/datafusion-physical-expr-50.1.0.crate) = 945659046d27372e38e8a37927f0b887f50846202792063ad6b197c6eaf9fb5b
-SIZE (rust/crates/datafusion-physical-expr-50.1.0.crate) = 209682
-SHA256 (rust/crates/datafusion-physical-expr-adapter-50.0.0.crate) = 2da3a7429a555dd5ff0bec4d24bd5532ec43876764088da635cad55b2f178dc2
-SIZE (rust/crates/datafusion-physical-expr-adapter-50.0.0.crate) = 24273
-SHA256 (rust/crates/datafusion-physical-expr-common-50.1.0.crate) = 218d60e94d829d8a52bf50e694f2f567313508f0c684af4954def9f774ce3518
-SIZE (rust/crates/datafusion-physical-expr-common-50.1.0.crate) = 42141
-SHA256 (rust/crates/datafusion-physical-optimizer-50.1.0.crate) = f96a93ebfd35cc52595e85c3100730a5baa6def39ff5390d6f90d2f3f89ce53f
-SIZE (rust/crates/datafusion-physical-optimizer-50.1.0.crate) = 86426
-SHA256 (rust/crates/datafusion-physical-plan-50.1.0.crate) = 3f6516a95911f763f05ec29bddd6fe987a0aa987409c213eac12faa5db7f3c9c
-SIZE (rust/crates/datafusion-physical-plan-50.1.0.crate) = 519609
-SHA256 (rust/crates/datafusion-proto-50.1.0.crate) = 9ca714dff69fe3de2901ec64ec3dba8d0623ae583f6fae3c6fa57355d7882017
-SIZE (rust/crates/datafusion-proto-50.1.0.crate) = 181030
-SHA256 (rust/crates/datafusion-proto-common-50.1.0.crate) = b7b628ba0f7bd1fa9565f80b19a162bcb3cbc082bbc42b29c4619760621f4e32
-SIZE (rust/crates/datafusion-proto-common-50.1.0.crate) = 61227
-SHA256 (rust/crates/datafusion-pruning-50.1.0.crate) = 40befe63ab3bd9f3b05d02d13466055aa81876ad580247b10bdde1ba3782cebb
-SIZE (rust/crates/datafusion-pruning-50.1.0.crate) = 50169
-SHA256 (rust/crates/datafusion-session-50.1.0.crate) = 26aa059f478e6fa31158e80e4685226490b39f67c2e357401e26da84914be8b2
-SIZE (rust/crates/datafusion-session-50.1.0.crate) = 23712
-SHA256 (rust/crates/datafusion-sql-50.1.0.crate) = ea3ce7cb3c31bfc6162026f6f4b11eb5a3a83c8a6b88d8b9c529ddbe97d53525
-SIZE (rust/crates/datafusion-sql-50.1.0.crate) = 204088
-SHA256 (rust/crates/datafusion-substrait-50.1.0.crate) = fcee6783df42ea7e2e2567f4bc92a0e9ce96d395c7c2f3e68ddaf35630c7005c
-SIZE (rust/crates/datafusion-substrait-50.1.0.crate) = 166003
+SHA256 (rust/crates/datafusion-50.2.0.crate) = fc6759cf9ef57c5c469e4027ac4b4cfa746e06a0f5472c2b922b6a403c2a64c4
+SIZE (rust/crates/datafusion-50.2.0.crate) = 256857
+SHA256 (rust/crates/datafusion-catalog-50.2.0.crate) = 8a1c48fc7e6d62590d45f7be7c531980b8ff091d1ab113a9ddf465bef41e4093
+SIZE (rust/crates/datafusion-catalog-50.2.0.crate) = 52698
+SHA256 (rust/crates/datafusion-catalog-listing-50.2.0.crate) = 3db1266da115de3ab0b2669fc027d96cf0ff777deb3216d52c74b528446ccdd6
+SIZE (rust/crates/datafusion-catalog-listing-50.2.0.crate) = 30589
+SHA256 (rust/crates/datafusion-common-50.2.0.crate) = ad4eb2a48ca10fa1e1a487a28a5bf080e31efac2d4bf12bb7e92c2d9ea4f35e5
+SIZE (rust/crates/datafusion-common-50.2.0.crate) = 229034
+SHA256 (rust/crates/datafusion-common-runtime-50.2.0.crate) = a0422ee64d5791599c46b786063e695f7699fadd3a12ad25038cb3094d05886a
+SIZE (rust/crates/datafusion-common-runtime-50.2.0.crate) = 13642
+SHA256 (rust/crates/datafusion-datasource-50.2.0.crate) = 904c2e1089b3ccf10786f2dae12bc560fda278e4194a8917c5844d2e8c212818
+SIZE (rust/crates/datafusion-datasource-50.2.0.crate) = 119032
+SHA256 (rust/crates/datafusion-datasource-avro-50.2.0.crate) = a1c87828da05c4115935af3394b27499cd2bd91bcb846a928209650627bf7f93
+SIZE (rust/crates/datafusion-datasource-avro-50.2.0.crate) = 44059
+SHA256 (rust/crates/datafusion-datasource-csv-50.2.0.crate) = 8336a805c42ef4e359daaad142ddc53649f23c7e934c117d8516816afe6b7a3d
+SIZE (rust/crates/datafusion-datasource-csv-50.2.0.crate) = 31729
+SHA256 (rust/crates/datafusion-datasource-json-50.2.0.crate) = c691b1565e245ea369bc8418b472a75ea84c2ad2deb61b1521cfa38319a9cd47
+SIZE (rust/crates/datafusion-datasource-json-50.2.0.crate) = 27903
+SHA256 (rust/crates/datafusion-datasource-parquet-50.2.0.crate) = f9f7576ceb5974c5f6874d7f2a5ebfeb58960a920da64017def849e0352fe2d8
+SIZE (rust/crates/datafusion-datasource-parquet-50.2.0.crate) = 91963
+SHA256 (rust/crates/datafusion-doc-50.2.0.crate) = 9dde7c10244f3657fc01eef8247c0b2b20eae4cf6439a0ebb27322f32026d6b8
+SIZE (rust/crates/datafusion-doc-50.2.0.crate) = 8707
+SHA256 (rust/crates/datafusion-execution-50.2.0.crate) = 5143fc795cef959b6d5271b2e8f1120382fe929fc4bd027c7d7b993f5352ef7e
+SIZE (rust/crates/datafusion-execution-50.2.0.crate) = 60360
+SHA256 (rust/crates/datafusion-expr-50.2.0.crate) = 63e826296bc5f5d0af3e39c1af473d4091ac6a152a5be2f80c256f0182938428
+SIZE (rust/crates/datafusion-expr-50.2.0.crate) = 224580
+SHA256 (rust/crates/datafusion-expr-common-50.2.0.crate) = 9096732d0d8862d1950ca70324fe91f9dee3799eeb0db53ef452bdb573484db6
+SIZE (rust/crates/datafusion-expr-common-50.2.0.crate) = 91706
+SHA256 (rust/crates/datafusion-ffi-50.2.0.crate) = a4bef25e2b86d9921f7a98b1a86bfb50cebe2fd97f3a9b96c85ce475e9ef78b0
+SIZE (rust/crates/datafusion-ffi-50.2.0.crate) = 73138
+SHA256 (rust/crates/datafusion-functions-50.2.0.crate) = 3f362c78ac283e64fd3976e060c1a8a57d5f4dcf844a6b6bd2eb320640a1572e
+SIZE (rust/crates/datafusion-functions-50.2.0.crate) = 207316
+SHA256 (rust/crates/datafusion-functions-aggregate-50.2.0.crate) = 22e2a80a80145a796ae3f02eb724ac516178556aec864fe89f6ab3741a4cd249
+SIZE (rust/crates/datafusion-functions-aggregate-50.2.0.crate) = 117869
+SHA256 (rust/crates/datafusion-functions-aggregate-common-50.2.0.crate) = d7dcca2fe7c33409e9ab3f950366aa4cba5db6175a09599fdb658ad9f2cc4296
+SIZE (rust/crates/datafusion-functions-aggregate-common-50.2.0.crate) = 51171
+SHA256 (rust/crates/datafusion-functions-nested-50.2.0.crate) = d1b298733377f3ec8c2868c75b5555b15396d9c13e36c5fda28e80feee34e3ed
+SIZE (rust/crates/datafusion-functions-nested-50.2.0.crate) = 76992
+SHA256 (rust/crates/datafusion-functions-table-50.2.0.crate) = 2fa4a380ca362eb0fbd33093e8ca6b7a31057616c7e6ee999b87a4ad3c7c0b3f
+SIZE (rust/crates/datafusion-functions-table-50.2.0.crate) = 27134
+SHA256 (rust/crates/datafusion-functions-window-50.2.0.crate) = 9068fc85b8e187c706427794d79bb7ee91132b6b192cb7b18e650a5f7c5c1340
+SIZE (rust/crates/datafusion-functions-window-50.2.0.crate) = 36102
+SHA256 (rust/crates/datafusion-functions-window-common-50.2.0.crate) = b2f80ec56e177d166269556649be817a382a374642872df4ca48cf9be3d09b3a
+SIZE (rust/crates/datafusion-functions-window-common-50.2.0.crate) = 16614
+SHA256 (rust/crates/datafusion-macros-50.2.0.crate) = c4868fe261ba01e462033eff141e90453b7630722cad6420fddd81ebb786f6e2
+SIZE (rust/crates/datafusion-macros-50.2.0.crate) = 18012
+SHA256 (rust/crates/datafusion-optimizer-50.2.0.crate) = 40ed8c51b5c37c057e5c7d5945ed807f1cecfba003bdb1a4c3036595dda287c7
+SIZE (rust/crates/datafusion-optimizer-50.2.0.crate) = 206122
+SHA256 (rust/crates/datafusion-physical-expr-50.2.0.crate) = f678f5734147446e1adbee63be4b244c8f0e9cbd5c41525004ace3730190d03e
+SIZE (rust/crates/datafusion-physical-expr-50.2.0.crate) = 209763
+SHA256 (rust/crates/datafusion-physical-expr-adapter-50.2.0.crate) = 086877d4eca538e9cd1f28b917db0036efe0ad8b4fb7c702f520510672032c8d
+SIZE (rust/crates/datafusion-physical-expr-adapter-50.2.0.crate) = 24270
+SHA256 (rust/crates/datafusion-physical-expr-common-50.2.0.crate) = f5c5d17f6a4f28f9849ee3449bb9b83406a718e4275c218bf37ca247ee123779
+SIZE (rust/crates/datafusion-physical-expr-common-50.2.0.crate) = 42241
+SHA256 (rust/crates/datafusion-physical-optimizer-50.2.0.crate) = ab9fb8b3fba2634d444e0177862797dc1231e0e20bc4db291a15d39c0d4136c3
+SIZE (rust/crates/datafusion-physical-optimizer-50.2.0.crate) = 86529
+SHA256 (rust/crates/datafusion-physical-plan-50.2.0.crate) = d5086cb2e579270173ff0eb38d60ba2a081f1d422a743fa673f6096920950eb5
+SIZE (rust/crates/datafusion-physical-plan-50.2.0.crate) = 519715
+SHA256 (rust/crates/datafusion-proto-50.2.0.crate) = 87c686bfd29ec5362fe229247ef03a0beb063b50e307bf72d0f1a80b9d90f8b8
+SIZE (rust/crates/datafusion-proto-50.2.0.crate) = 181199
+SHA256 (rust/crates/datafusion-proto-common-50.2.0.crate) = 1972d37680d48d4f6167b535e0a23ea9f814a21e1359d0bd5c30d1345b95aef9
+SIZE (rust/crates/datafusion-proto-common-50.2.0.crate) = 61420
+SHA256 (rust/crates/datafusion-pruning-50.2.0.crate) = 1f84b866d906118c320459f30385048aeedbe36ac06973d3e4fa0cc5d60d722c
+SIZE (rust/crates/datafusion-pruning-50.2.0.crate) = 50286
+SHA256 (rust/crates/datafusion-session-50.2.0.crate) = 3820062b9dd2846954eeb844ff9fe3662977b7d2d74947647c779fabfa502508
+SIZE (rust/crates/datafusion-session-50.2.0.crate) = 23822
+SHA256 (rust/crates/datafusion-sql-50.2.0.crate) = 375232baa851b2e9d09fcbe8906141a0ec6e0e058addc5565e0d3d790bb9d51d
+SIZE (rust/crates/datafusion-sql-50.2.0.crate) = 204208
+SHA256 (rust/crates/datafusion-substrait-50.2.0.crate) = dd3cff6283a943da81d5c89a3ada9ac5c4aa1230ab9ab2d7a95bc7b035dacdab
+SIZE (rust/crates/datafusion-substrait-50.2.0.crate) = 166089
SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
SIZE (rust/crates/digest-0.10.7.crate) = 19557
SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
@@ -305,6 +305,8 @@ SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b1
SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
+SHA256 (rust/crates/hashbrown-0.16.0.crate) = 5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d
+SIZE (rust/crates/hashbrown-0.16.0.crate) = 141708
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
@@ -399,8 +401,8 @@ SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e
SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
SIZE (rust/crates/litemap-0.8.0.crate) = 34344
-SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765
-SIZE (rust/crates/lock_api-0.4.13.crate) = 28565
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432
SIZE (rust/crates/log-0.4.28.crate) = 51131
SHA256 (rust/crates/lru-slab-0.1.2.crate) = 112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154
@@ -439,18 +441,18 @@ SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0
SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
SIZE (rust/crates/object-0.36.7.crate) = 329938
-SHA256 (rust/crates/object_store-0.12.3.crate) = efc4f07659e11cd45a341cd24d71e683e3be65d9ff1f8150061678fe60437496
-SIZE (rust/crates/object_store-0.12.3.crate) = 271241
+SHA256 (rust/crates/object_store-0.12.4.crate) = 4c1be0c6c22ec0817cdc77d3842f721a17fd30ab6965001415b5402a74e6b740
+SIZE (rust/crates/object_store-0.12.4.crate) = 275332
SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e
SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128
SHA256 (rust/crates/ordered-float-2.10.1.crate) = 68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c
SIZE (rust/crates/ordered-float-2.10.1.crate) = 16029
-SHA256 (rust/crates/parking_lot-0.12.4.crate) = 70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13
-SIZE (rust/crates/parking_lot-0.12.4.crate) = 46779
-SHA256 (rust/crates/parking_lot_core-0.9.11.crate) = bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5
-SIZE (rust/crates/parking_lot_core-0.9.11.crate) = 34773
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
SHA256 (rust/crates/parquet-56.1.0.crate) = 89b56b41d1bd36aae415e42f91cae70ee75cf6cba74416b14dce3e958d5990ec
SIZE (rust/crates/parquet-56.1.0.crate) = 682953
SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
@@ -641,8 +643,12 @@ SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06
+SIZE (rust/crates/strum-0.26.3.crate) = 7237
SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf
SIZE (rust/crates/strum-0.27.2.crate) = 8489
+SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be
+SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531
SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
SHA256 (rust/crates/substrait-0.58.0.crate) = de6d24c270c6c672a86c183c3a8439ba46c1936f93cf7296aa692de3b0ff0228
diff --git a/databases/py-dbt-core/Makefile b/databases/py-dbt-core/Makefile
index 51fa9f72e09f..b0fe888bb01b 100644
--- a/databases/py-dbt-core/Makefile
+++ b/databases/py-dbt-core/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dbt-core
DISTVERSION= 1.7.11
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -31,7 +31,6 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}agate>=1.7<2:textproc/py-agate@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}pytz>=2015.7:devel/py-pytz@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.7.4:devel/py-typing-extensions@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}cffi>=1.9<2:devel/py-cffi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}idna>=2.5<4:dns/py-idna@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests<3:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}urllib3>=1.0:net/py-urllib3@${PY_FLAVOR}
diff --git a/databases/py-dbt-core/files/patch-setup.py b/databases/py-dbt-core/files/patch-setup.py
index 74a69b902f7b..3496530e5a06 100644
--- a/databases/py-dbt-core/files/patch-setup.py
+++ b/databases/py-dbt-core/files/patch-setup.py
@@ -12,3 +12,11 @@
# ----
# These are major-version-0 packages also maintained by dbt-labs. Accept patches.
"dbt-extractor~=0.5.0",
+@@ -85,7 +85,6 @@ setup(
+ "typing-extensions>=3.7.4",
+ # ----
+ # Match snowflake-connector-python, to ensure compatibility in dbt-snowflake
+- "cffi>=1.9,<2.0.0",
+ "idna>=2.5,<4",
+ "requests<3.0.0",
+ "urllib3~=1.0",
diff --git a/databases/py-mysql-connector-python/Makefile b/databases/py-mysql-connector-python/Makefile
index d94a249cf2c2..8945da79ff5a 100644
--- a/databases/py-mysql-connector-python/Makefile
+++ b/databases/py-mysql-connector-python/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mysql-connector-python
-DISTVERSION= 9.4.0
+DISTVERSION= 9.5.0
CATEGORIES= databases python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/databases/py-mysql-connector-python/distinfo b/databases/py-mysql-connector-python/distinfo
index b89b6d0a4360..fb6ecd4550f1 100644
--- a/databases/py-mysql-connector-python/distinfo
+++ b/databases/py-mysql-connector-python/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759311129
-SHA256 (mysql-mysql-connector-python-9.4.0_GH0.tar.gz) = 2e56eb87b5c10d79ac34d1e8a0b9b09f9a8feb25af71cdbb0406814decc2d3af
-SIZE (mysql-mysql-connector-python-9.4.0_GH0.tar.gz) = 15966524
+TIMESTAMP = 1761559878
+SHA256 (mysql-mysql-connector-python-9.5.0_GH0.tar.gz) = ecbe9091f7aa785b27d5ee2ae8b6b56eedbec21be24d4a37c6cdc2d0a0154ae7
+SIZE (mysql-mysql-connector-python-9.5.0_GH0.tar.gz) = 16030019
diff --git a/databases/py-psycopg-c/Makefile b/databases/py-psycopg-c/Makefile
index cf3ea707477d..0def43e58ddc 100644
--- a/databases/py-psycopg-c/Makefile
+++ b/databases/py-psycopg-c/Makefile
@@ -1,5 +1,5 @@
PORTNAME= psycopg-c
-PORTVERSION= 3.2.10
+PORTVERSION= 3.2.11
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/databases/py-psycopg-c/distinfo b/databases/py-psycopg-c/distinfo
index 9b326bfd14d0..ef688fa01793 100644
--- a/databases/py-psycopg-c/distinfo
+++ b/databases/py-psycopg-c/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759324068
-SHA256 (psycopg_c-3.2.10.tar.gz) = 30183897f5fe7ff4375b7dfcec9d44dfe8a5e009080addc1626889324a9eb1ed
-SIZE (psycopg_c-3.2.10.tar.gz) = 601626
+TIMESTAMP = 1761446578
+SHA256 (psycopg_c-3.2.11.tar.gz) = b3104bcbd62e34cfc736bbdaa4cdcb7e9bfc9a4c0a1f0992cac0f68ea941a450
+SIZE (psycopg_c-3.2.11.tar.gz) = 608046
diff --git a/databases/py-psycopg/Makefile b/databases/py-psycopg/Makefile
index c1bcc3c55cc3..3c860ddf9fa5 100644
--- a/databases/py-psycopg/Makefile
+++ b/databases/py-psycopg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= psycopg
-PORTVERSION= 3.2.10
+PORTVERSION= 3.2.11
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/databases/py-psycopg/distinfo b/databases/py-psycopg/distinfo
index 98a9a3e6d251..ce287d7f26f5 100644
--- a/databases/py-psycopg/distinfo
+++ b/databases/py-psycopg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759324066
-SHA256 (psycopg-3.2.10.tar.gz) = 0bce99269d16ed18401683a8569b2c5abd94f72f8364856d56c0389bcd50972a
-SIZE (psycopg-3.2.10.tar.gz) = 160380
+TIMESTAMP = 1761446576
+SHA256 (psycopg-3.2.11.tar.gz) = 398bb484ed44361e041c8f804ed7af3d2fcefbffdace1d905b7446c319321706
+SIZE (psycopg-3.2.11.tar.gz) = 160644
diff --git a/databases/py-sqlframe/Makefile b/databases/py-sqlframe/Makefile
index 0d3ecd15dc4d..5c35287ac6e2 100644
--- a/databases/py-sqlframe/Makefile
+++ b/databases/py-sqlframe/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sqlframe
-PORTVERSION= 3.43.6
+PORTVERSION= 3.43.7
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}more-itertools>=0:devel/py-more-itertools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prettytable>=0<4:devel/py-prettytable@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}sqlglot>=24.0.0<27.27:databases/py-sqlglot@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlglot>=24.0.0<27.29:databases/py-sqlglot@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
USES= python
diff --git a/databases/py-sqlframe/distinfo b/databases/py-sqlframe/distinfo
index 0365e169a918..2712182b6f50 100644
--- a/databases/py-sqlframe/distinfo
+++ b/databases/py-sqlframe/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759774577
-SHA256 (sqlframe-3.43.6.tar.gz) = 525c60c7e56b8191acb315871318daeed38274003ee5e0f41179813a90e91714
-SIZE (sqlframe-3.43.6.tar.gz) = 29554318
+TIMESTAMP = 1761446580
+SHA256 (sqlframe-3.43.7.tar.gz) = 9530751384708a85f762ca22f2c3cadb08515df5b35a0c9f1e3103e8681cdad6
+SIZE (sqlframe-3.43.7.tar.gz) = 29554464
diff --git a/databases/py-sqlglot/Makefile b/databases/py-sqlglot/Makefile
index 586cb8ae9a9c..a216834c8cdb 100644
--- a/databases/py-sqlglot/Makefile
+++ b/databases/py-sqlglot/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sqlglot
-PORTVERSION= 27.26.0
+PORTVERSION= 27.28.1
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -24,6 +24,6 @@ NO_ARCH= yes
OPTIONS_DEFINE= RS
RS_DESC= SQL parser and transpiler in Rust
-RS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlglotrs>=0.7.2<0.7.2_99:databases/py-sqlglotrs@${PY_FLAVOR}
+RS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlglotrs>=0.7.3<0.7.3_99:databases/py-sqlglotrs@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/databases/py-sqlglot/distinfo b/databases/py-sqlglot/distinfo
index 61788a91390d..66c8f0837b29 100644
--- a/databases/py-sqlglot/distinfo
+++ b/databases/py-sqlglot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759774579
-SHA256 (sqlglot-27.26.0.tar.gz) = 60c3e4f8462fbcc4627f3090df7dd5d27c4077df89a616f21db4b61583cd9741
-SIZE (sqlglot-27.26.0.tar.gz) = 5490283
+TIMESTAMP = 1761446582
+SHA256 (sqlglot-27.28.1.tar.gz) = 01c03da1aa0c7773002cfb4a58bd4b0656196e0164aee1d83104b3d3cc1475f3
+SIZE (sqlglot-27.28.1.tar.gz) = 5498876
diff --git a/databases/py-sqlglotrs/Makefile b/databases/py-sqlglotrs/Makefile
index 891391832e12..4b05ac697db9 100644
--- a/databases/py-sqlglotrs/Makefile
+++ b/databases/py-sqlglotrs/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sqlglotrs
-PORTVERSION= 0.7.2
+PORTVERSION= 0.7.3
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/databases/py-sqlglotrs/distinfo b/databases/py-sqlglotrs/distinfo
index 15961d10c436..98a86d2492d1 100644
--- a/databases/py-sqlglotrs/distinfo
+++ b/databases/py-sqlglotrs/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1759774581
-SHA256 (sqlglotrs-0.7.2.tar.gz) = 7c7b5f422a54307de0311b574dc631c099b0fdfc4b5d624b92b11b8df0b5fa16
-SIZE (sqlglotrs-0.7.2.tar.gz) = 15879
+TIMESTAMP = 1761446584
+SHA256 (sqlglotrs-0.7.3.tar.gz) = caadc572c8a194f99d6ba44d02f9ada0110e3d47cca3330c81f4aa608f1143eb
+SIZE (sqlglotrs-0.7.3.tar.gz) = 15888
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
diff --git a/databases/py-tiledb/Makefile b/databases/py-tiledb/Makefile
index df0b5369b220..94781be41bd8 100644
--- a/databases/py-tiledb/Makefile
+++ b/databases/py-tiledb/Makefile
@@ -1,5 +1,5 @@
PORTNAME= tiledb
-PORTVERSION= 0.35.0
+PORTVERSION= 0.35.1
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.25,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pybind11>=0:devel/py-pybind11@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-build-core>=0:devel/py-scikit-build-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
- tiledb>=2.29.0:databases/tiledb
+ tiledb>=2.29.1:databases/tiledb
LIB_DEPENDS= libtiledb.so:databases/tiledb
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.25,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
diff --git a/databases/py-tiledb/distinfo b/databases/py-tiledb/distinfo
index 242caf0a44bf..07813f90d4b1 100644
--- a/databases/py-tiledb/distinfo
+++ b/databases/py-tiledb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759774557
-SHA256 (tiledb-0.35.0.tar.gz) = c3e8bd33a421e97e1c69cedd74a75651a6b03f5522a5b8e7c6c4f3316f2afcf8
-SIZE (tiledb-0.35.0.tar.gz) = 384879
+TIMESTAMP = 1761446538
+SHA256 (tiledb-0.35.1.tar.gz) = 9cfab14f2a4c4d6aa58abe484ff55703172c1d51b1b89a7e59a6d07aaf4cdfd0
+SIZE (tiledb-0.35.1.tar.gz) = 386928
diff --git a/databases/py-tiledb/files/patch-pyproject.toml b/databases/py-tiledb/files/patch-pyproject.toml
index 1849558a6452..edb53c92c7c0 100644
--- a/databases/py-tiledb/files/patch-pyproject.toml
+++ b/databases/py-tiledb/files/patch-pyproject.toml
@@ -1,12 +1,10 @@
--- pyproject.toml.orig 2022-11-09 12:37:21 UTC
+++ pyproject.toml
-@@ -1,8 +1,8 @@ requires = [
- [build-system]
+@@ -2,7 +2,7 @@ requires = [
requires = [
"scikit-build-core",
-- "pybind11<3",
+ "pybind11",
- "numpy>=2.0.1"
-+ "pybind11",
+ "numpy>=1.25"
]
build-backend = "scikit_build_core.build"
diff --git a/databases/rocksdb/Makefile b/databases/rocksdb/Makefile
index 06230db225c4..77e6338defe0 100644
--- a/databases/rocksdb/Makefile
+++ b/databases/rocksdb/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rocksdb
-PORTVERSION= 10.5.1
+PORTVERSION= 10.7.5
DISTVERSIONPREFIX= v
CATEGORIES= databases
@@ -21,7 +21,7 @@ BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libgflags.so:devel/gflags \
libsnappy.so:archivers/snappy
-USES= compiler:c++17-lang gmake localbase:ldflags perl5
+USES= compiler:c++20-lang gmake localbase:ldflags perl5
USE_PERL5= build
ALL_TARGET= shared_lib static_lib all
@@ -31,7 +31,7 @@ CONFIGURE_ENV= PORTABLE=0 ROCKSDB_ROOT=${WRKSRC}
CONFIGURE_SCRIPT= build_tools/build_detect_platform
HAS_CONFIGURE= yes
MAKE_ENV= CXX=${CXX} INSTALL_PATH=${STAGEDIR}${PREFIX} USE_RTTI=1 V=1
-USE_CXXSTD= c++17
+USE_CXXSTD= c++20
USE_LDCONFIG= yes
TEST_TARGET= check
diff --git a/databases/rocksdb/distinfo b/databases/rocksdb/distinfo
index 9b72fb0228a8..aded81fe9d3f 100644
--- a/databases/rocksdb/distinfo
+++ b/databases/rocksdb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755062446
-SHA256 (facebook-rocksdb-v10.5.1_GH0.tar.gz) = 7ec942baab802b2845188d02bc5d4e42c29236e61bcbc08f5b3a6bdd92290c22
-SIZE (facebook-rocksdb-v10.5.1_GH0.tar.gz) = 13864326
+TIMESTAMP = 1761446474
+SHA256 (facebook-rocksdb-v10.7.5_GH0.tar.gz) = a9948bf5f00dd1e656fc40c4b0bf39001c3773ad22c56959bdb1c940d10e3d8d
+SIZE (facebook-rocksdb-v10.7.5_GH0.tar.gz) = 13967127
diff --git a/databases/rocksdb/files/patch-db-db_test_util.cc b/databases/rocksdb/files/patch-db-db_test_util.cc
index 3ab185f0c560..2cdbb074261f 100644
--- a/databases/rocksdb/files/patch-db-db_test_util.cc
+++ b/databases/rocksdb/files/patch-db-db_test_util.cc
@@ -1,6 +1,6 @@
---- db/db_test_util.cc.orig 2023-02-19 21:44:55 UTC
+--- db/db_test_util.cc.orig 2025-10-20 18:17:17 UTC
+++ db/db_test_util.cc
-@@ -102,9 +102,11 @@ DBTestBase::DBTestBase(const std::string path, bool en
+@@ -103,9 +103,11 @@ DBTestBase::~DBTestBase() {
}
DBTestBase::~DBTestBase() {
@@ -12,7 +12,7 @@
Close();
Options options;
options.db_paths.emplace_back(dbname_, 0);
-@@ -338,6 +340,7 @@ Options DBTestBase::GetOptions(
+@@ -347,6 +349,7 @@ Options DBTestBase::GetOptions(
Options options = default_options;
BlockBasedTableOptions table_options;
bool set_block_based_table_factory = true;
@@ -20,7 +20,7 @@
#if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_SOLARIS) && \
!defined(OS_AIX)
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearCallBack(
-@@ -345,6 +348,7 @@ Options DBTestBase::GetOptions(
+@@ -354,6 +357,7 @@ Options DBTestBase::GetOptions(
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearCallBack(
"NewWritableFile:O_DIRECT");
#endif
@@ -28,7 +28,7 @@
// kMustFreeHeapAllocations -> indicates ASAN build
if (kMustFreeHeapAllocations && !options_override.full_block_cache) {
// Detecting block cache use-after-free is normally difficult in unit
-@@ -409,7 +413,9 @@ Options DBTestBase::GetOptions(
+@@ -418,7 +422,9 @@ Options DBTestBase::GetOptions(
options.use_direct_reads = true;
options.use_direct_io_for_flush_and_compaction = true;
options.compaction_readahead_size = 2 * 1024 * 1024;
@@ -38,15 +38,15 @@
break;
}
case kMergePut:
-@@ -1141,6 +1147,7 @@ std::string DBTestBase::FilesPerLevel(int cf) {
+@@ -1225,6 +1231,7 @@ std::string DBTestBase::FilesPerLevel(ColumnFamilyHand
+ return result;
}
-
+#ifndef NDEBUG
std::vector<uint64_t> DBTestBase::GetBlobFileNumbers() {
VersionSet* const versions = dbfull()->GetVersionSet();
assert(versions);
-@@ -1166,6 +1173,7 @@ std::vector<uint64_t> DBTestBase::GetBlobFileNumbers()
+@@ -1250,6 +1257,7 @@ std::vector<uint64_t> DBTestBase::GetBlobFileNumbers()
return result;
}
@@ -54,17 +54,14 @@
size_t DBTestBase::CountFiles() {
size_t count = 0;
-@@ -1248,6 +1256,7 @@ void DBTestBase::FillLevels(const std::string& smalles
- }
+@@ -1351,16 +1359,20 @@ void DBTestBase::MoveFilesToLevel(int level, ColumnFam
- void DBTestBase::MoveFilesToLevel(int level, int cf) {
+ void DBTestBase::MoveFilesToLevel(int level, ColumnFamilyHandle* column_family,
+ DB* db) {
+#ifndef NDEBUG
+ DBImpl* db_impl = db ? static_cast<DBImpl*>(db) : dbfull();
for (int l = 0; l < level; ++l) {
- if (cf > 0) {
- EXPECT_OK(dbfull()->TEST_CompactRange(l, nullptr, nullptr, handles_[cf]));
-@@ -1255,12 +1264,15 @@ void DBTestBase::MoveFilesToLevel(int level, int cf) {
- EXPECT_OK(dbfull()->TEST_CompactRange(l, nullptr, nullptr));
- }
+ EXPECT_OK(db_impl->TEST_CompactRange(l, nullptr, nullptr, column_family));
}
+#endif
}
@@ -78,7 +75,7 @@
for (int level = 0; level < db_->NumberLevels(); level++) {
int num = NumTableFilesAtLevel(level);
if (num > 0) {
-@@ -1302,10 +1314,12 @@ void DBTestBase::GenerateNewFile(int cf, Random* rnd,
+@@ -1402,10 +1414,12 @@ void DBTestBase::GenerateNewFile(int cf, Random* rnd,
ASSERT_OK(Put(cf, Key(*key_idx), rnd->RandomString((i == 99) ? 1 : 990)));
(*key_idx)++;
}
@@ -91,7 +88,7 @@
}
// this will generate non-overlapping files since it keeps increasing key_idx
-@@ -1314,10 +1328,12 @@ void DBTestBase::GenerateNewFile(Random* rnd, int* key
+@@ -1414,10 +1428,12 @@ void DBTestBase::GenerateNewFile(Random* rnd, int* key
ASSERT_OK(Put(Key(*key_idx), rnd->RandomString((i == 99) ? 1 : 990)));
(*key_idx)++;
}
@@ -104,7 +101,7 @@
}
const int DBTestBase::kNumKeysByGenerateNewRandomFile = 51;
-@@ -1327,10 +1343,12 @@ void DBTestBase::GenerateNewRandomFile(Random* rnd, bo
+@@ -1427,10 +1443,12 @@ void DBTestBase::GenerateNewRandomFile(Random* rnd, bo
ASSERT_OK(Put("key" + rnd->RandomString(7), rnd->RandomString(2000)));
}
ASSERT_OK(Put("key" + rnd->RandomString(7), rnd->RandomString(200)));
diff --git a/databases/rocksdb/pkg-plist b/databases/rocksdb/pkg-plist
index 66d606155b88..f77457551648 100644
--- a/databases/rocksdb/pkg-plist
+++ b/databases/rocksdb/pkg-plist
@@ -61,6 +61,7 @@ include/rocksdb/options.h
include/rocksdb/perf_context.h
include/rocksdb/perf_level.h
include/rocksdb/persistent_cache.h
+include/rocksdb/point_lock_bench_tool.h
include/rocksdb/port_defs.h
include/rocksdb/rate_limiter.h
include/rocksdb/rocksdb_namespace.h
diff --git a/databases/rubygem-attr_json/Makefile b/databases/rubygem-attr_json/Makefile
index 89ba53f82e4d..190c7f83b750 100644
--- a/databases/rubygem-attr_json/Makefile
+++ b/databases/rubygem-attr_json/Makefile
@@ -1,5 +1,5 @@
PORTNAME= attr_json
-PORTVERSION= 2.5.1
+PORTVERSION= 2.6.0
CATEGORIES= databases rubygems
MASTER_SITES= RG
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USES= gem
-RUN_DEPENDS= rubygem-activerecord72>=6.0.0<8.1:databases/rubygem-activerecord72
+RUN_DEPENDS= rubygem-activerecord72>=6.0.0<8.2:databases/rubygem-activerecord72
NO_ARCH= yes
diff --git a/databases/rubygem-attr_json/distinfo b/databases/rubygem-attr_json/distinfo
index b96be9a9879b..9d89fe4a767a 100644
--- a/databases/rubygem-attr_json/distinfo
+++ b/databases/rubygem-attr_json/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759816752
-SHA256 (rubygem/attr_json-2.5.1.gem) = 26b95d9dc31de88266121fba5bb2472a7c99ae28709d24576b992c5f06b890d3
-SIZE (rubygem/attr_json-2.5.1.gem) = 49664
+TIMESTAMP = 1761446804
+SHA256 (rubygem/attr_json-2.6.0.gem) = 8a110245c36d5b657540b2980e37acf4eb201b2fd44e818973fb2147519f1af4
+SIZE (rubygem/attr_json-2.6.0.gem) = 49664
diff --git a/databases/rubygem-click_house-client/Makefile b/databases/rubygem-click_house-client/Makefile
index bcb5a89815c5..f3521366b76f 100644
--- a/databases/rubygem-click_house-client/Makefile
+++ b/databases/rubygem-click_house-client/Makefile
@@ -1,5 +1,5 @@
PORTNAME= click_house-client
-PORTVERSION= 0.3.5
+PORTVERSION= 0.5.1
CATEGORIES= databases rubygems
MASTER_SITES= RG
diff --git a/databases/rubygem-click_house-client/distinfo b/databases/rubygem-click_house-client/distinfo
index 000223ab33c7..4c1f60facb11 100644
--- a/databases/rubygem-click_house-client/distinfo
+++ b/databases/rubygem-click_house-client/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755692908
-SHA256 (rubygem/click_house-client-0.3.5.gem) = bd3b8ea28f7998e0fd0b7aee117c21a55100d22d1bd502b3f3dfad0447a6c151
-SIZE (rubygem/click_house-client-0.3.5.gem) = 18944
+TIMESTAMP = 1761393537
+SHA256 (rubygem/click_house-client-0.5.1.gem) = 10022af0f6ae529daa3ae32e86ca62f5a236fa5fdb7893f1bd4a3133137e2d69
+SIZE (rubygem/click_house-client-0.5.1.gem) = 19456
diff --git a/databases/rubygem-solid_queue-rails72/Makefile b/databases/rubygem-solid_queue-rails72/Makefile
index 38fd35d5e13c..8d96511ca8f5 100644
--- a/databases/rubygem-solid_queue-rails72/Makefile
+++ b/databases/rubygem-solid_queue-rails72/Makefile
@@ -1,6 +1,5 @@
PORTNAME= solid_queue
-PORTVERSION= 1.2.1
-PORTREVISION= 1
+PORTVERSION= 1.2.2
CATEGORIES= databases rubygems
MASTER_SITES= RG
PKGNAMESUFFIX= -rails72
@@ -15,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
RUN_DEPENDS= rubygem-activejob72>=7.1:devel/rubygem-activejob72 \
rubygem-activerecord72>=7.1:databases/rubygem-activerecord72 \
rubygem-concurrent-ruby>=1.3.1:devel/rubygem-concurrent-ruby \
- rubygem-fugit111>=1.11.0<1.12:devel/rubygem-fugit111 \
+ rubygem-fugit>=1.11<2:devel/rubygem-fugit \
rubygem-railties72>=7.1:www/rubygem-railties72 \
rubygem-thor>=1.3.1:devel/rubygem-thor
diff --git a/databases/rubygem-solid_queue-rails72/distinfo b/databases/rubygem-solid_queue-rails72/distinfo
index 9d75915635c6..332bc59317fd 100644
--- a/databases/rubygem-solid_queue-rails72/distinfo
+++ b/databases/rubygem-solid_queue-rails72/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753369412
-SHA256 (rubygem/solid_queue-1.2.1.gem) = 7976b3690a08080ef63d1b11281f0b77398f7697dbeda0e2c5532682639d4b15
-SIZE (rubygem/solid_queue-1.2.1.gem) = 45056
+TIMESTAMP = 1761439168
+SHA256 (rubygem/solid_queue-1.2.2.gem) = aa6755df4d02f0737683a2e3dbb1cf4f8490e90ac7528663f0ef1a04c37beb74
+SIZE (rubygem/solid_queue-1.2.2.gem) = 45056
diff --git a/databases/rubygem-solid_queue/Makefile b/databases/rubygem-solid_queue/Makefile
index 258ebc7c191f..4a59019ce4c6 100644
--- a/databases/rubygem-solid_queue/Makefile
+++ b/databases/rubygem-solid_queue/Makefile
@@ -1,6 +1,5 @@
PORTNAME= solid_queue
-PORTVERSION= 1.2.1
-PORTREVISION= 1
+PORTVERSION= 1.2.2
CATEGORIES= databases rubygems
MASTER_SITES= RG
@@ -14,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
RUN_DEPENDS= rubygem-activejob80>=7.1:devel/rubygem-activejob80 \
rubygem-activerecord80>=7.1:databases/rubygem-activerecord80 \
rubygem-concurrent-ruby>=1.3.1:devel/rubygem-concurrent-ruby \
- rubygem-fugit111>=1.11.0<1.12:devel/rubygem-fugit111 \
+ rubygem-fugit>=1.11<2:devel/rubygem-fugit \
rubygem-railties80>=7.1:www/rubygem-railties80 \
rubygem-thor>=1.3.1:devel/rubygem-thor
diff --git a/databases/rubygem-solid_queue/distinfo b/databases/rubygem-solid_queue/distinfo
index 9d75915635c6..82d696b0a966 100644
--- a/databases/rubygem-solid_queue/distinfo
+++ b/databases/rubygem-solid_queue/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753369412
-SHA256 (rubygem/solid_queue-1.2.1.gem) = 7976b3690a08080ef63d1b11281f0b77398f7697dbeda0e2c5532682639d4b15
-SIZE (rubygem/solid_queue-1.2.1.gem) = 45056
+TIMESTAMP = 1761446806
+SHA256 (rubygem/solid_queue-1.2.2.gem) = aa6755df4d02f0737683a2e3dbb1cf4f8490e90ac7528663f0ef1a04c37beb74
+SIZE (rubygem/solid_queue-1.2.2.gem) = 45056
diff --git a/databases/sqlx-cli/Makefile b/databases/sqlx-cli/Makefile
index b2ffa67c1b59..59255490cf13 100644
--- a/databases/sqlx-cli/Makefile
+++ b/databases/sqlx-cli/Makefile
@@ -1,7 +1,6 @@
PORTNAME= sqlx
DISTVERSIONPREFIX= v
-DISTVERSION= 0.8.5
-PORTREVISION= 4
+DISTVERSION= 0.8.6
CATEGORIES= databases
PKGNAMESUFFIX= -cli
@@ -235,6 +234,7 @@ CARGO_CRATES= addr2line-0.24.2 \
libsqlite3-sys-0.30.1 \
linux-raw-sys-0.3.8 \
linux-raw-sys-0.4.15 \
+ linux-raw-sys-0.9.4 \
litemap-0.7.4 \
lock_api-0.4.12 \
log-0.4.24 \
@@ -325,6 +325,7 @@ CARGO_CRATES= addr2line-0.24.2 \
rustc-hash-1.1.0 \
rustix-0.37.28 \
rustix-0.38.43 \
+ rustix-1.0.5 \
rustls-0.23.21 \
rustls-native-certs-0.8.1 \
rustls-pki-types-1.10.1 \
@@ -386,6 +387,7 @@ CARGO_CRATES= addr2line-0.24.2 \
target-triple-0.1.3 \
tempfile-3.15.0 \
termcolor-1.4.1 \
+ terminal_size-0.4.2 \
termtree-0.5.1 \
thiserror-1.0.69 \
thiserror-2.0.11 \
diff --git a/databases/sqlx-cli/distinfo b/databases/sqlx-cli/distinfo
index 56e66cdceef5..d90156d31121 100644
--- a/databases/sqlx-cli/distinfo
+++ b/databases/sqlx-cli/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1744790408
+TIMESTAMP = 1761524317
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -431,6 +431,8 @@ SHA256 (rust/crates/linux-raw-sys-0.3.8.crate) = ef53942eb7bf7ff43a617b3e2c1c4a5
SIZE (rust/crates/linux-raw-sys-0.3.8.crate) = 1013776
SHA256 (rust/crates/linux-raw-sys-0.4.15.crate) = d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab
SIZE (rust/crates/linux-raw-sys-0.4.15.crate) = 2150898
+SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
+SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
SHA256 (rust/crates/litemap-0.7.4.crate) = 4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104
SIZE (rust/crates/litemap-0.7.4.crate) = 28257
SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
@@ -611,6 +613,8 @@ SHA256 (rust/crates/rustix-0.37.28.crate) = 519165d378b97752ca44bbe15047d5d3409e
SIZE (rust/crates/rustix-0.37.28.crate) = 325812
SHA256 (rust/crates/rustix-0.38.43.crate) = a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6
SIZE (rust/crates/rustix-0.38.43.crate) = 379134
+SHA256 (rust/crates/rustix-1.0.5.crate) = d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf
+SIZE (rust/crates/rustix-1.0.5.crate) = 414160
SHA256 (rust/crates/rustls-0.23.21.crate) = 8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8
SIZE (rust/crates/rustls-0.23.21.crate) = 337106
SHA256 (rust/crates/rustls-native-certs-0.8.1.crate) = 7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3
@@ -733,6 +737,8 @@ SHA256 (rust/crates/tempfile-3.15.0.crate) = 9a8a559c81686f576e8cd0290cd2a24a2a9
SIZE (rust/crates/tempfile-3.15.0.crate) = 35693
SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/terminal_size-0.4.2.crate) = 45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed
+SIZE (rust/crates/terminal_size-0.4.2.crate) = 9976
SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
SIZE (rust/crates/termtree-0.5.1.crate) = 8498
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
@@ -943,5 +949,5 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (launchbadge-sqlx-v0.8.5_GH0.tar.gz) = c6a32bb7d733fd598ba7473da9f82e9971557302e180ca3da0b1e29028dc9027
-SIZE (launchbadge-sqlx-v0.8.5_GH0.tar.gz) = 1013166
+SHA256 (launchbadge-sqlx-v0.8.6_GH0.tar.gz) = 75d0b4d1f3081a877c7b75936f069f9327bb2ceb4dc206f5a7fc89e0cd9bc31e
+SIZE (launchbadge-sqlx-v0.8.6_GH0.tar.gz) = 1015054
diff --git a/databases/tiledb/Makefile b/databases/tiledb/Makefile
index 974eb1db0296..9969d4a9fd09 100644
--- a/databases/tiledb/Makefile
+++ b/databases/tiledb/Makefile
@@ -1,5 +1,5 @@
PORTNAME= tiledb
-PORTVERSION= 2.29.0
+PORTVERSION= 2.29.1
CATEGORIES= databases
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/databases/tiledb/distinfo b/databases/tiledb/distinfo
index 40534d186ec0..fc9dd75e6965 100644
--- a/databases/tiledb/distinfo
+++ b/databases/tiledb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759774555
-SHA256 (TileDB-Inc-TileDB-2.29.0_GH0.tar.gz) = 5340e820323cdd48eac3cbd28ad55c1724f3f0b20dd2b88d196f336cffd92cdf
-SIZE (TileDB-Inc-TileDB-2.29.0_GH0.tar.gz) = 3750784
+TIMESTAMP = 1761446536
+SHA256 (TileDB-Inc-TileDB-2.29.1_GH0.tar.gz) = e507b6edf2a3893038ae92c74b4756561f3c11a03c6c311c7ae76d40f924cc05
+SIZE (TileDB-Inc-TileDB-2.29.1_GH0.tar.gz) = 3753818
diff --git a/databases/valkey8/Makefile b/databases/valkey8/Makefile
new file mode 100644
index 000000000000..06ba0fc27633
--- /dev/null
+++ b/databases/valkey8/Makefile
@@ -0,0 +1,72 @@
+PORTNAME= valkey
+DISTVERSION= 8.1.4
+CATEGORIES= databases
+PKGNAMESUFFIX= 8
+
+MAINTAINER= bofh@freebsd.org
+COMMENT= High-performance data structure server that primarily serves key/value workloads (8.X.X series)
+WWW= https://valkey.io/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= gmake pkgconfig tcl:test
+USE_GITHUB= yes
+GH_ACCOUNT= valkey-io
+USE_RC_SUBR= valkey valkeysentinel
+
+MAKE_ENV= OPTIMIZATION= \
+ V=1
+
+LDFLAGS+= -lpthread -lm -lexecinfo
+
+CONFLICTS_INSTALL= valkey*
+
+SUB_FILES= pkg-message
+SUB_LIST+= PORTNAME=${PORTNAME} \
+ VALKEY_DBDIR=${VALKEY_DBDIR} \
+ VALKEY_LOGDIR=${VALKEY_LOGDIR} \
+ VALKEY_RUNDIR=${VALKEY_RUNDIR} \
+ VALKEY_USER=${USERS}
+
+USERS= valkey
+GROUPS= valkey
+
+PLIST_SUB+= VALKEY_DBDIR=${VALKEY_DBDIR} \
+ VALKEY_GROUP=${GROUPS} \
+ VALKEY_LOGDIR=${VALKEY_LOGDIR} \
+ VALKEY_RUNDIR=${VALKEY_RUNDIR} \
+ VALKEY_USER=${USERS}
+
+OPTIONS_DEFINE= JEMALLOC TLS
+OPTIONS_DEFAULT= TLS
+OPTIONS_SUB= yes
+
+JEMALLOC_DESC= Use jemalloc
+TLS_DESC= Use TLS
+
+JEMALLOC_MAKE_ENV= MALLOC=jemalloc
+TLS_USES= ssl
+TLS_MAKE_ENV= BUILD_TLS=yes
+
+VALKEY_DBDIR?= /var/db/valkey
+VALKEY_RUNDIR?= /var/run/valkey
+VALKEY_LOGDIR?= /var/log/valkey
+
+post-build:
+ ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${WRKSRC}/valkey.conf > ${WRKDIR}/valkey.conf
+ ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${WRKSRC}/sentinel.conf > ${WRKDIR}/valkey-sentinel.conf
+
+post-install:
+ ${INSTALL_DATA} ${WRKDIR}/valkey.conf ${STAGEDIR}${PREFIX}/etc/valkey.conf.sample
+ ${INSTALL_DATA} ${WRKDIR}/valkey-sentinel.conf ${STAGEDIR}${PREFIX}/etc/valkey-sentinel.conf.sample
+ ${MKDIR} ${STAGEDIR}${VALKEY_LOGDIR} \
+ ${STAGEDIR}${VALKEY_DBDIR} \
+ ${STAGEDIR}${VALKEY_RUNDIR}
+
+do-test:
+ @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl
+
+.include <bsd.port.mk>
diff --git a/databases/valkey8/distinfo b/databases/valkey8/distinfo
new file mode 100644
index 000000000000..5ac94ab4a03b
--- /dev/null
+++ b/databases/valkey8/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759574183
+SHA256 (valkey-io-valkey-8.1.4_GH0.tar.gz) = 32350b017fee5e1a85f7e2d8580d581a0825ceae5cb3395075012c0970694dee
+SIZE (valkey-io-valkey-8.1.4_GH0.tar.gz) = 3816705
diff --git a/databases/valkey8/files/patch-deps-Makefile b/databases/valkey8/files/patch-deps-Makefile
new file mode 100644
index 000000000000..003ae439c2c5
--- /dev/null
+++ b/databases/valkey8/files/patch-deps-Makefile
@@ -0,0 +1,21 @@
+--- deps/Makefile.orig 2024-04-01 02:56:24 UTC
++++ deps/Makefile
+@@ -84,7 +84,7 @@ else
+ ifeq ($(LUA_DEBUG),yes)
+ LUA_CFLAGS+= -O0 -g -DLUA_USE_APICHECK
+ else
+- LUA_CFLAGS+= -O2
++ LUA_CFLAGS+=
+ endif
+ ifeq ($(LUA_COVERAGE),yes)
+ LUA_CFLAGS += -fprofile-arcs -ftest-coverage
+@@ -112,7 +112,7 @@ jemalloc: .make-prerequisites
+
+ jemalloc: .make-prerequisites
+ @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
+- cd jemalloc && ./configure --disable-cxx --with-version=5.3.0-0-g0 --with-lg-quantum=3 --disable-cache-oblivious --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" $(JEMALLOC_CONFIGURE_OPTS)
+- cd jemalloc && $(MAKE) lib/libjemalloc.a
++ cd jemalloc && ./configure --disable-cxx --with-version=5.3.0-0-g0 --with-lg-quantum=3 --disable-cache-oblivious --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" CXXFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" $(JEMALLOC_CONFIGURE_OPTS)
++ cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" CXXFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a
+
+ .PHONY: jemalloc
diff --git a/databases/valkey8/files/patch-deps-hiredis-Makefile b/databases/valkey8/files/patch-deps-hiredis-Makefile
new file mode 100644
index 000000000000..a2789076673c
--- /dev/null
+++ b/databases/valkey8/files/patch-deps-hiredis-Makefile
@@ -0,0 +1,41 @@
+--- deps/hiredis/Makefile.orig 2023-07-30 05:48:29 UTC
++++ deps/hiredis/Makefile
+@@ -15,7 +15,7 @@ HIREDIS_PATCH=$(shell grep HIREDIS_PATCH hiredis.h | a
+ HIREDIS_SONAME=$(shell grep HIREDIS_SONAME hiredis.h | awk '{print $$3}')
+
+ # Installation related variables and target
+-PREFIX?=/usr/local
++PREFIX?=${PREFIX}
+ INCLUDE_PATH?=include/hiredis
+ LIBRARY_PATH?=lib
+ PKGCONF_PATH?=pkgconfig
+@@ -38,10 +38,8 @@ export REDIS_TEST_CONFIG
+ # Fallback to gcc when $CC is not in $PATH.
+ CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+ CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
+-OPTIMIZATION?=-O3
+ WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
+-DEBUG_FLAGS?= -g -ggdb
+-REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CPPFLAGS) $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(PLATFORM_FLAGS)
++REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(PLATFORM_FLAGS)
+ REAL_LDFLAGS=$(LDFLAGS)
+
+ DYLIBSUFFIX=so
+@@ -122,7 +120,16 @@ ifeq ($(uname_S),FreeBSD)
+ else
+ REAL_CFLAGS+=-pedantic
+ endif
+-
++ifeq ($(uname_S),FreeBSD)
++ CFLAGS?=$(CFLAGS)
++ CCLINK?=pthread
++ LDFLAGS?=-L. -Wl,-rpath,.
++ DYLIBNAME?=libhiredis.so
++ DYLIB_MAKE_CMD?=$(CC) -o ${DYLIBNAME} ${OBJ}
++ STLIBNAME?=libhiredis.a
++ STLIB_MAKE_CMD?=ar rcs ${STLIBNAME} ${OBJ}
++ SSL_LDFLAGS+=${OPENSSL_LDFLAGS}
++endif
+ ifeq ($(uname_S),SunOS)
+ IS_SUN_CC=$(shell sh -c '$(CC) -V 2>&1 |egrep -i -c "sun|studio"')
+ ifeq ($(IS_SUN_CC),1)
diff --git a/databases/valkey8/files/patch-deps-hiredis-net.c b/databases/valkey8/files/patch-deps-hiredis-net.c
new file mode 100644
index 000000000000..434ebf0e81a4
--- /dev/null
+++ b/databases/valkey8/files/patch-deps-hiredis-net.c
@@ -0,0 +1,39 @@
+--- deps/hiredis/net.c.orig 2024-04-01 02:56:24 UTC
++++ deps/hiredis/net.c
+@@ -185,14 +185,34 @@ int redisKeepAlive(redisContext *c, int interval) {
+ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
+ return REDIS_ERR;
+ }
+-#else
+-#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__)
++#elif defined(__GLIBC__)
+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) {
+ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
+ return REDIS_ERR;
+ }
+
+ val = interval/3;
++ if (val == 0) val = 1;
++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) {
++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
++ return REDIS_ERR;
++ }
++
++ val = 3;
++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof(val)) < 0) {
++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
++ return REDIS_ERR;
++ }
++#else
++#if !defined(__sun) && defined(TCP_KEEPIDLE) && defined(TCP_KEEPINTL) && \
++ defined(TCP_KEEPCNT)
++ val = interval;
++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) {
++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
++ return REDIS_ERR;
++ }
++
++ val = internal/3;
+ if (val == 0) val = 1;
+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) {
+ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
diff --git a/databases/valkey8/files/patch-deps-linenoise-Makefile b/databases/valkey8/files/patch-deps-linenoise-Makefile
new file mode 100644
index 000000000000..aef0f10966af
--- /dev/null
+++ b/databases/valkey8/files/patch-deps-linenoise-Makefile
@@ -0,0 +1,15 @@
+--- deps/linenoise/Makefile.orig 2019-09-25 10:40:18 UTC
++++ deps/linenoise/Makefile
+@@ -1,10 +1,10 @@
+ STD=
+ WARN= -Wall
+-OPT= -Os
++#OPT= -Os
+
+ R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS)
+ R_LDFLAGS= $(LDFLAGS)
+-DEBUG= -g
++#DEBUG= -g
+
+ R_CC=$(CC) $(R_CFLAGS)
+ R_LD=$(CC) $(R_LDFLAGS)
diff --git a/databases/valkey8/files/patch-deps_lua_src_lua__cjson.c b/databases/valkey8/files/patch-deps_lua_src_lua__cjson.c
new file mode 100644
index 000000000000..55f700aee7f3
--- /dev/null
+++ b/databases/valkey8/files/patch-deps_lua_src_lua__cjson.c
@@ -0,0 +1,12 @@
+--- deps/lua/src/lua_cjson.c.orig 2024-04-01 02:56:24 UTC
++++ deps/lua/src/lua_cjson.c
+@@ -47,7 +47,9 @@
+ #include "strbuf.h"
+ #include "fpconv.h"
+
++#if defined(__sun)
+ #include "../../../src/solarisfixes.h"
++#endif
+
+ #ifndef CJSON_MODNAME
+ #define CJSON_MODNAME "cjson"
diff --git a/databases/valkey8/files/patch-sentinel.conf b/databases/valkey8/files/patch-sentinel.conf
new file mode 100644
index 000000000000..8f26502b8146
--- /dev/null
+++ b/databases/valkey8/files/patch-sentinel.conf
@@ -0,0 +1,26 @@
+--- sentinel.conf.orig 2024-04-16 04:18:47 UTC
++++ sentinel.conf
+@@ -12,12 +12,12 @@ port 26379
+ # By default Valkey Sentinel does not run as a daemon. Use 'yes' if you need it.
+ # Note that Valkey will write a pid file in /var/run/valkey-sentinel.pid when
+ # daemonized.
+-daemonize no
++daemonize yes
+
+ # When running daemonized, Valkey Sentinel writes a pid file in
+ # /var/run/valkey-sentinel.pid by default. You can specify a custom pid file
+ # location here.
+-pidfile /var/run/valkey-sentinel.pid
++pidfile %%VALKEY_RUNDIR%%/valkey-sentinel.pid
+
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -31,7 +31,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # Sentinel to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile %%VALKEY_LOGDIR%%/valkey-sentinel.log
+
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
diff --git a/databases/valkey8/files/patch-src-Makefile b/databases/valkey8/files/patch-src-Makefile
new file mode 100644
index 000000000000..483fe6891dbb
--- /dev/null
+++ b/databases/valkey8/files/patch-src-Makefile
@@ -0,0 +1,54 @@
+--- src/Makefile.orig 2024-08-01 15:59:43 UTC
++++ src/Makefile
+@@ -61,8 +61,8 @@ endif
+ STD+=-std=c99
+ endif
+
+-PREFIX?=/usr/local
+-INSTALL_BIN=$(PREFIX)/bin
++PREFIX:=$(PREFIX)
++INSTALL_BIN=$(DESTDIR)$(PREFIX)/bin
+ INSTALL=install
+ PKG_CONFIG?=pkg-config
+
+@@ -145,7 +145,6 @@ FINAL_LIBS=-lm
+ endif
+ FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(SERVER_LDFLAGS) $(DEBUG)
+ FINAL_LIBS=-lm
+-DEBUG=-g -ggdb
+
+ # Linux ARM32 needs -latomic at linking time
+ ifneq (,$(findstring armv,$(uname_M)))
+@@ -189,6 +188,11 @@ else
+ OPENSSL_PREFIX?=/usr/local/opt/openssl
+ endif
+ else
++ifeq ($(uname_S),FreeBSD)
++ # FreeBSD
++ FINAL_CFLAGS?= $(CFLAGS) $(REDIS_CFLAGS) -I${PREFIX}/include
++ FINAL_LDFLAGS= $(LDFLAGS) -pthread
++else
+ ifeq ($(uname_S),AIX)
+ # AIX
+ FINAL_LDFLAGS+= -Wl,-bexpall
+@@ -248,6 +252,7 @@ endif
+ endif
+ endif
+ endif
++endif
+
+ ifdef OPENSSL_PREFIX
+ OPENSSL_CFLAGS=-I$(OPENSSL_PREFIX)/include
+@@ -624,12 +629,6 @@ install: all
+ @ln -sf $(SERVER_NAME) $(INSTALL_BIN)/$(ENGINE_CHECK_RDB_NAME)
+ @ln -sf $(SERVER_NAME) $(INSTALL_BIN)/$(ENGINE_CHECK_AOF_NAME)
+ @ln -sf $(SERVER_NAME) $(INSTALL_BIN)/$(ENGINE_SENTINEL_NAME)
+- $(call MAYBE_INSTALL_REDIS_SYMLINK,$(SERVER_NAME),$(INSTALL_BIN))
+- $(call MAYBE_INSTALL_REDIS_SYMLINK,$(ENGINE_CLI_NAME),$(INSTALL_BIN))
+- $(call MAYBE_INSTALL_REDIS_SYMLINK,$(ENGINE_BENCHMARK_NAME),$(INSTALL_BIN))
+- $(call MAYBE_INSTALL_REDIS_SYMLINK,$(ENGINE_CHECK_RDB_NAME),$(INSTALL_BIN))
+- $(call MAYBE_INSTALL_REDIS_SYMLINK,$(ENGINE_CHECK_AOF_NAME),$(INSTALL_BIN))
+- $(call MAYBE_INSTALL_REDIS_SYMLINK,$(ENGINE_SENTINEL_NAME),$(INSTALL_BIN))
+
+ uninstall:
+ @rm -f $(INSTALL_BIN)/{$(SERVER_NAME),$(ENGINE_BENCHMARK_NAME),$(ENGINE_CLI_NAME),$(ENGINE_CHECK_RDB_NAME),$(ENGINE_CHECK_AOF_NAME),$(ENGINE_SENTINEL_NAME)}
diff --git a/databases/valkey8/files/patch-src-mkreleasehdr.sh b/databases/valkey8/files/patch-src-mkreleasehdr.sh
new file mode 100644
index 000000000000..b4dd26bd81ec
--- /dev/null
+++ b/databases/valkey8/files/patch-src-mkreleasehdr.sh
@@ -0,0 +1,11 @@
+--- src/mkreleasehdr.sh.orig 2024-08-01 15:59:43 UTC
++++ src/mkreleasehdr.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+-GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1`
+-GIT_DIRTY=`git diff --no-ext-diff -- ../src ../deps 2> /dev/null | wc -l`
++GIT_SHA1="00000000"
++GIT_DIRTY="0"
+ BUILD_ID=`uname -n`"-"`date +%s`
+ if [ -n "$SOURCE_DATE_EPOCH" ]; then
+ BUILD_ID=$(date -u -d "@$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u +%s)
diff --git a/databases/valkey8/files/patch-valkey.conf b/databases/valkey8/files/patch-valkey.conf
new file mode 100644
index 000000000000..513df990df09
--- /dev/null
+++ b/databases/valkey8/files/patch-valkey.conf
@@ -0,0 +1,38 @@
+--- valkey.conf.orig 2025-03-31 19:55:59 UTC
++++ valkey.conf
+@@ -353,7 +353,7 @@ tcp-keepalive 300
+ # By default the server does not run as a daemon. Use 'yes' if you need it.
+ # Note that the server will write a pid file in /var/run/valkey.pid when daemonized.
+ # When the server is supervised by upstart or systemd, this parameter has no impact.
+-daemonize no
++daemonize yes
+
+ # If you run the server from upstart or systemd, the server can interact with your
+ # supervision tree. Options:
+@@ -385,7 +385,7 @@ daemonize no
+ #
+ # Note that on modern Linux systems "/run/valkey.pid" is more conforming
+ # and should be used instead.
+-pidfile /var/run/valkey_6379.pid
++pidfile %%VALKEY_RUNDIR%%/valkey.pid
+
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -416,7 +416,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # the server to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile %%VALKEY_LOGDIR%%/valkey.log
+
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+@@ -606,7 +606,7 @@ rdb-del-sync-files no
+ # Note that modifying 'dir' during runtime may have unexpected behavior,
+ # for example when a child process is running, related file operations may
+ # have unexpected effects.
+-dir ./
++dir %%VALKEY_DBDIR%%/
+
+ ################################# REPLICATION #################################
+
diff --git a/databases/valkey8/files/pkg-message.in b/databases/valkey8/files/pkg-message.in
new file mode 100644
index 000000000000..e32864db05c1
--- /dev/null
+++ b/databases/valkey8/files/pkg-message.in
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+ To setup "%%PORTNAME%%" you need to edit the configuration file:
+ %%PREFIX%%/etc/%%PORTNAME%%.conf
+
+ To run valkey from startup, add %%PORTNAME%%_enable="YES"
+ in your /etc/rc.conf.
+EOM
+}
+]
diff --git a/databases/valkey8/files/valkey.in b/databases/valkey8/files/valkey.in
new file mode 100644
index 000000000000..23be6ccb8a9e
--- /dev/null
+++ b/databases/valkey8/files/valkey.in
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# PROVIDE: valkey
+# REQUIRE: LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable `valkey':
+#
+#valkey_enable="YES"
+#
+# Define profiles here to run separate valkey instances:
+#
+#valkey_profiles="foo bar" # Script uses %%PREFIX%%/etc/valkey-NAME.conf respectively.
+# For correct script working please update pidfile entries in
+# valkey-NAME.conf files.
+
+. /etc/rc.subr
+
+name="valkey"
+rcvar="${name}_enable"
+
+extra_commands="reload"
+
+command="%%PREFIX%%/bin/valkey-server"
+pidfile="%%VALKEY_RUNDIR%%/$name.pid"
+
+# read configuration and set defaults
+load_rc_config "$name"
+: ${valkey_enable="NO"}
+: ${valkey_user="%%VALKEY_USER%%"}
+: ${valkey_config="%%PREFIX%%/etc/$name.conf"}
+
+command_args="${valkey_config}"
+required_files="${valkey_config}"
+
+_profile_exists() {
+ for _p in ${valkey_profiles}; do
+ [ "${_p}" = "$1" ] && return 1;
+ done
+ return 0
+}
+
+if [ $# -eq 2 ]; then
+ _profile=$2
+ _profile_exists $_profile
+ _exists=$?
+ [ ${_exists} -ne 1 ] && {
+ echo "`basename %%PREFIX%%/etc/rc.d/valkey`: no '$2' in 'valkey_profiles'"
+ exit 1
+ };
+ echo "-- Profile: ${_profile} --"
+ config_file="%%PREFIX%%/etc/${name}-${_profile}.conf"
+ command_args="${config_file}"
+ pidfile="%%VALKEY_RUNDIR%%/${_profile}.pid"
+ required_files="${config_file}"
+elif [ -n "${valkey_profiles}" ]; then
+ _swap=$*; shift; _profiles=$*
+ _profiles=${_profiles:-${valkey_profiles}}
+ set -- ${_swap}
+ for _profile in ${_profiles}; do
+ %%PREFIX%%/etc/rc.d/valkey $1 ${_profile}
+ done
+ exit 0
+fi
+
+run_rc_command "$1"
diff --git a/databases/valkey8/files/valkeysentinel.in b/databases/valkey8/files/valkeysentinel.in
new file mode 100644
index 000000000000..79b4956300a1
--- /dev/null
+++ b/databases/valkey8/files/valkeysentinel.in
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# PROVIDE: valkeysentinel
+# REQUIRE: LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable `valkeysentinel':
+#
+#valkeysentinel_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="valkeysentinel"
+rcvar="${name}_enable"
+
+command="/usr/local/bin/valkey-sentinel"
+pidfile="/var/run/valkey/valkey-sentinel.pid"
+
+# read configuration and set defaults
+load_rc_config "$name"
+: ${valkeysentinel_enable="NO"}
+: ${valkeysentinel_user="valkey"}
+: ${valkeysentinel_config="/usr/local/etc/valkey-sentinel.conf"}
+
+command_args="${valkeysentinel_config} --daemonize yes --pidfile ${pidfile}"
+required_files="${valkeysentinel_config}"
+start_precmd="valkeysentinel_checks"
+restart_precmd="valkeysentinel_checks"
+
+valkeysentinel_checks()
+{
+ if [ x`id -u ${valkeysentinel_user}` != x`stat -f %u ${valkeysentinel_config}` ]; then
+ err 1 "${valkeysentinel_config} must be owned by user ${valkeysentinel_user}"
+ fi
+}
+
+run_rc_command "$1"
diff --git a/databases/valkey8/pkg-descr b/databases/valkey8/pkg-descr
new file mode 100644
index 000000000000..769cbd6a3f71
--- /dev/null
+++ b/databases/valkey8/pkg-descr
@@ -0,0 +1,6 @@
+Valkey is a high-performance data structure server that primarily
+serves key/value workloads. It supports a wide range of native
+structures and an extensible plugin system for adding new data
+structures and access patterns.
+
+This is the 8.X.X series of valkey.
diff --git a/databases/valkey8/pkg-plist b/databases/valkey8/pkg-plist
new file mode 100644
index 000000000000..9ccd7d930e5a
--- /dev/null
+++ b/databases/valkey8/pkg-plist
@@ -0,0 +1,11 @@
+bin/valkey-benchmark
+bin/valkey-check-aof
+bin/valkey-check-rdb
+bin/valkey-cli
+bin/valkey-sentinel
+bin/valkey-server
+@sample etc/valkey.conf.sample
+@sample(%%VALKEY_USER%%,%%VALKEY_GROUP%%,) etc/valkey-sentinel.conf.sample
+@dir(%%VALKEY_USER%%,%%VALKEY_GROUP%%,) %%VALKEY_DBDIR%%
+@dir(%%VALKEY_USER%%,%%VALKEY_GROUP%%,) %%VALKEY_LOGDIR%%
+@dir(%%VALKEY_USER%%,%%VALKEY_GROUP%%,) %%VALKEY_RUNDIR%%